Sync with Debian's upstream/3.0_a27 (new log file name, persistency reworked,...)
[live-boot-grml.git] / hooks / live
index c2292d5..40802d0 100755 (executable)
@@ -22,6 +22,8 @@ esac
 
 . /usr/share/initramfs-tools/hook-functions
 
+[ "${QUIET}" ] || echo -n live-boot:
+
 # live-boot hook
 
 # Reading configuration file from filesystem
@@ -30,9 +32,9 @@ then
        . /etc/live/boot.conf
 fi
 
-if ls /etc/live/boot.conf.d/* > /dev/null 2>&1
+if ls /etc/live/boot.d/*.conf > /dev/null 2>&1
 then
-       for _FILE in /etc/live/boot.conf.d/*
+       for _FILE in /etc/live/boot.d/*.conf
        do
                . ${_FILE}
        done
@@ -40,6 +42,14 @@ fi
 
 # Handling live-boot
 
+if [ ! -e /usr/share/live-boot ]
+then
+       echo "W: live-boot-initramfs-tools (backend) installed without live-boot,"
+       echo "W: this initramfs will *NOT* have live support."
+       exit 0
+fi
+
+[ "${QUIET}" ] || echo -n " "core
 # Configuration
 if [ -e /usr/share/live-boot/languagelist ]
 then
@@ -61,7 +71,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
@@ -85,6 +95,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
@@ -130,8 +141,9 @@ manual_add_modules squashfs
 manual_add_modules sqlzma
 manual_add_modules unlzma
 
-# Filesystem: aufs/unionfs
+# Filesystem: aufs/overlayfs/unionfs
 manual_add_modules aufs
+manual_add_modules overlayfs
 manual_add_modules unionfs
 
 # Filesystem: unionfs-fuse
@@ -149,6 +161,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
@@ -168,14 +181,17 @@ 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 mtdblock
+       manual_add_modules phram
+       manual_add_modules mtdblock
 fi
 
 # Program: cpio
@@ -190,22 +206,26 @@ copy_exec /bin/cpio /bin
 # Program: udev
 if [ -x /sbin/udevadm ]
 then
+       [ "${QUIET}" ] || echo -n " "udev
        copy_exec /sbin/udevadm /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
 
@@ -215,29 +235,34 @@ 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
-    copy_exec /usr/sbin/iscsistart /bin
-    #manual_add_modules ib_iser
-    manual_add_modules iscsi_tcp
-    manual_add_modules crc32c
+       [ "${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
 
 if [ "${LIVE_DNS}" = "true" ]
 then
+       [ "${QUIET}" ] || echo -n " "dns
        #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
@@ -246,3 +271,13 @@ then
        #mkdir -p $DESTDIR/etc
        #cp -p /etc/nsswitch.conf $DESTDIR/etc
 fi
+
+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 .