Revert "Do not fail in multiarch environment when installing libnss_dns.so."
[live-boot-grml.git] / hooks / live
index adadab3..3862a60 100755 (executable)
@@ -22,13 +22,33 @@ esac
 
 . /usr/share/initramfs-tools/hook-functions
 
+[ "${QUIET}" ] || echo -n live-boot:
+
 # live-boot hook
 
+# Reading configuration file from filesystem
+if [ -e /etc/live/boot.conf ]
+then
+       . /etc/live/boot.conf
+fi
+
+if ls /etc/live/boot.d/* > /dev/null 2>&1
+then
+       for _FILE in /etc/live/boot.d/*
+       do
+               . ${_FILE}
+       done
+fi
+
 # Handling live-boot
 
+[ "${QUIET}" ] || echo -n " "core
 # Configuration
-mkdir -p "${DESTDIR}"/usr/share/live-boot
-cp /usr/share/live-boot/languagelist "${DESTDIR}"/usr/share/live-boot
+if [ -e /usr/share/live-boot/languagelist ]
+then
+       mkdir -p "${DESTDIR}"/usr/share/live-boot
+       cp /usr/share/live-boot/languagelist "${DESTDIR}"/usr/share/live-boot
+fi
 
 # Directories
 mkdir -p "${DESTDIR}"/lib/live-boot
@@ -44,7 +64,7 @@ cp /usr/share/initramfs-tools/scripts/live-helpers "${DESTDIR}"/scripts
 # klibc dependencies
 for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr*
 do
-       if [ ! -e "${DESTDIR}"/"${FILE}" ]
+       if [ ! -e "${DESTDIR}"/"${FILE}" ] && ls ${FILE} > /dev/null 2>&1
        then
                cp -a "${FILE}" "${DESTDIR}"/"${FILE}"
        fi
@@ -68,6 +88,7 @@ fi
 
 # Handling other stuff
 
+[ "${QUIET}" ] || echo -n " "filesystems
 # Configuration: keymap (usefull when using encryption)
 if [ -x /bin/loadkeys ] && [ -r /etc/console/boottime.kmap.gz ]
 then
@@ -84,6 +105,9 @@ then
        uuidgen -r > "${DESTDIR}"/conf/uuid.conf
 fi
 
+# Filesystem: btrfs
+manual_add_modules btrfs
+
 # Filesystem: cifs
 if [ -x /sbin/mount.cifs ]
 then
@@ -129,6 +153,7 @@ manual_add_modules vfat
 # Filesystem: ntfs
 manual_add_modules ntfs
 
+[ "${QUIET}" ] || echo -n " "devices
 # Hardware: cdrom
 manual_add_modules ide-cd
 manual_add_modules ide-generic
@@ -148,9 +173,19 @@ then
        copy_exec /usr/bin/eject /bin
 fi
 
+[ "${QUIET}" ] || echo -n " "utils
 # Program: md5sum
 copy_exec /usr/bin/md5sum /bin
 
+# Program: memdisk
+if [ -x /usr/bin/memdiskfind ]
+then
+[ "${QUIET}" ] || echo -n :memdisk
+       copy_exec /usr/bin/memdiskfind
+       manual_add_modules phram
+       manual_add_modules mtdblock
+fi
+
 # Program: cpio
 # busybox and klibc lacks --no-absolute-filenames and --sparse, needed for snapshots
 if [ -e "${DESTDIR}/bin/cpio" ]
@@ -163,27 +198,26 @@ copy_exec /bin/cpio /bin
 # Program: udev
 if [ -x /sbin/udevadm ]
 then
-       # lenny
+       [ "${QUIET}" ] || echo -n " "udev
        copy_exec /sbin/udevadm /sbin
-else
-       # etch
-       copy_exec /sbin/udevtrigger /sbin
-       copy_exec /sbin/udevsettle /sbin
 fi
 if [ -x /usr/bin/udevinfo ]
 then
+       [ "${QUIET}" ] || echo -n " "udev
        copy_exec /usr/bin/udevinfo /bin
 fi
 
 # Program: wget
 if [ -x /usr/bin/wget ]
 then
+       [ "${QUIET}" ] || echo -n " "wget
        copy_exec /usr/bin/wget /bin
 fi
 
 # Program: blockdev
 if [ -x /sbin/blockdev ]
 then
+       [ "${QUIET}" ] || echo -n " "blockdev
        copy_exec /sbin/blockdev /sbin
 fi
 
@@ -193,14 +227,46 @@ manual_add_modules fuse
 # FUSE filesystem: httpfs2
 if [ -x /usr/bin/httpfs2_ssl ]
 then
+       [ "${QUIET}" ] || echo -n " "httpfs:ssl
        copy_exec /usr/bin/httpfs2_ssl /bin/httpfs
 elif [ -x /usr/bin/httpfs2 ]
 then
+       [ "${QUIET}" ] || echo -n " "httpfs
        copy_exec /usr/bin/httpfs2 /bin/httpfs
 fi
 
 # FUSE filesystem: curlftpfs
 if [ -x /usr/bin/curlftpfs ]
 then
+       [ "${QUIET}" ] || echo -n " "ftpfs
        copy_exec /usr/bin/curlftpfs /bin
 fi
+
+# iSCSI
+if [ -x /usr/sbin/iscsistart ]
+then
+       [ "${QUIET}" ] || echo -n " "iscsi
+       copy_exec /usr/sbin/iscsistart /bin
+       #manual_add_modules ib_iser
+       manual_add_modules iscsi_tcp
+       manual_add_modules crc32c
+fi
+
+# DNS for initramfs
+#copy_exec /lib/libnss_files.so.*      /lib  # /etc/hosts and /etc/passwd
+copy_exec /lib/libnss_dns.so.*      /lib  # DNS server
+#copy_exec /lib/libnss_compat.so.*      /lib  # /etc/passwd
+
+# Configuration file - may be needed if /etc/hosts is used.
+#mkdir -p $DESTDIR/etc
+#cp -p /etc/nsswitch.conf $DESTDIR/etc
+
+if [ "${LIVE_UNIONMOUNT}" = "true" ]
+then
+       [ "${QUIET}" ] || echo -n " "unionmount
+       # UnionMount
+       # only mount from patched util-linux can do this currently
+       copy_exec /bin/mount /bin/mount_full
+fi
+
+[ "${QUIET}" ] || echo .