Merge remote-tracking branch 'upstream/master'
[live-boot-grml.git] / backend / initramfs-tools / live.hook
index 55b0207..ef148b6 100755 (executable)
@@ -8,7 +8,7 @@ set -e
 
 # Reading configuration file from filesystem and live-media
 for _FILE in /etc/live/boot.conf /etc/live/boot/* \
-            /lib/live/mount/media/live/boot.conf /lib/live/mount/media/live/boot/*
+            /run/live/medium/live/boot.conf /run/live/medium/live/boot/*
 do
        if [ -e "${_FILE}" ]
        then
@@ -16,6 +16,12 @@ do
        fi
 done
 
+# Grml version information:
+if [ -r /etc/grml_version ]
+then
+       cp /etc/grml_version "${DESTDIR}"/etc
+fi
+
 # Checking live-boot
 if [ ! -e /bin/live-boot ]
 then
@@ -28,11 +34,21 @@ fi
 [ "${QUIET}" ] || echo -n " core"
 
 mkdir -p "${DESTDIR}/bin"
-cp -a /bin/live-boot /lib/live/boot "${DESTDIR}/bin"
+cp -a /bin/live-boot "${DESTDIR}/bin"
 
 mkdir -p "${DESTDIR}/lib/live"
 cp -a /lib/live/boot "${DESTDIR}/lib/live"
 
+mkdir -p "${DESTDIR}/etc/live"
+if [ -e /etc/live/boot.conf ]
+then
+       cp -a /etc/live/boot.conf "${DESTDIR}/etc/live"
+fi
+if [ -e /etc/live/boot ]
+then
+       cp -a /etc/live/boot "${DESTDIR}/etc/live"
+fi
+
 # klibc dependencies
 for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr*
 do
@@ -43,12 +59,16 @@ do
 done
 
 # udev dependencies
-for FILE in /lib/udev/*_id
-do
-       copy_exec "${FILE}"
-done
+if [ "${MINIMAL:-}" != "true" ] &&  [ "${MINIMAL:-}" != "yes" ]
+then
+       for FILE in /lib/udev/*_id
+       do
+               copy_exec "${FILE}"
+       done
+fi
 
-if [ -e /lib/udev/rules.d/60-cdrom_id.rules ]
+if [ -e /lib/udev/rules.d/60-cdrom_id.rules ] && [ "${DISABLE_CDROM:-}" != "true" ] && \
+       [ "${DISABLE_CDROM:-}" != "yes" ]
 then
        mkdir -p "${DESTDIR}/lib/udev/rules.d"
        cp -p /lib/udev/rules.d/60-cdrom_id.rules "${DESTDIR}/lib/udev/rules.d"
@@ -93,7 +113,7 @@ manual_add_modules hfsplus
 # Filesystem: jffs2
 manual_add_modules jffs2
 
-if [ -x /usr/bin/rsync ]
+if [ -x /usr/bin/rsync ] && [ "${MINIMAL:-}" != "true" ] && [ "${MINIMAL:-}" != "yes" ]
 then
        copy_exec /usr/bin/rsync /bin
 fi
@@ -105,30 +125,42 @@ manual_add_modules squashfs
 manual_add_modules sqlzma
 manual_add_modules unlzma
 
-# Filesystem: aufs/overlay/unionfs
+# Filesystem: aufs/overlay
 manual_add_modules aufs
 manual_add_modules overlay
-manual_add_modules unionfs
 
 # Filesystem: vfat
-manual_add_modules nls_cp437
-manual_add_modules nls_iso8859-1
-manual_add_modules nls_utf8
-manual_add_modules vfat
+if [ "${DISABLE_FAT:-}" != "true" ] &&  [ "${DISABLE_FAT:-}" != "yes" ]
+then
+       manual_add_modules nls_cp437
+       manual_add_modules nls_iso8859-1
+       manual_add_modules nls_utf8
+       manual_add_modules nls_ascii
+       manual_add_modules vfat
+fi
 
 # Filesystem: ntfs
-manual_add_modules ntfs
+if [ "${DISABLE_NTFS:-}" != "true" ] && [ "${DISABLE_NTFS:-}" != "yes" ]
+then
+       manual_add_modules ntfs
+fi
 
 [ "${QUIET}" ] || echo -n " devices"
 # Hardware: cdrom
-manual_add_modules ide-cd
-manual_add_modules ide-generic
-manual_add_modules ohci1394
-manual_add_modules sbp2
-manual_add_modules sr_mod
+if [ "${DISABLE_CDROM:-}" != "true" ] && [ "${DISABLE_CDROM:-}" != "yes" ]
+then
+       manual_add_modules ide-cd
+       manual_add_modules ide-generic
+       manual_add_modules ohci1394
+       manual_add_modules sbp2
+       manual_add_modules sr_mod
+fi
 
 # Hardware: usb
-manual_add_modules sd_mod
+if [ "${DISABLE_USB:-}" != "true" ] && [ "${DISABLE_USB:-}" != "yes" ]
+then
+       manual_add_modules sd_mod
+fi
 
 # Hardware: network
 auto_add_modules net
@@ -139,10 +171,6 @@ then
        copy_exec /usr/bin/eject /bin
 fi
 
-# Program: mount
-# fuse does not work with klibc mount
-copy_exec /bin/mount /bin/mount.util-linux
-
 [ "${QUIET}" ] || echo -n " utils"
 
 # Feature: Verify Checksums
@@ -163,17 +191,10 @@ then
 fi
 
 # Program: udev
-if [ -x /sbin/udevadm ]
+if [ -x /bin/udevadm ]
 then
        [ "${QUIET}" ] || echo -n " udev"
-       copy_exec /sbin/udevadm
-fi
-
-# Program: wget
-if [ -x /usr/bin/wget ]
-then
-       [ "${QUIET}" ] || echo -n " wget"
-       copy_exec /usr/bin/wget /bin
+       copy_exec /bin/udevadm
 fi
 
 # Program: blockdev
@@ -184,24 +205,27 @@ then
 fi
 
 # FUSE kernel module
-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 ]
+if [ "${DISABLE_FUSE:-n}" != "true" ] && [ "${DISABLE_FUSE:-n}" != "yes" ]
 then
-       [ "${QUIET}" ] || echo -n " httpfs"
-       copy_exec /usr/bin/httpfs2 /bin/httpfs
-fi
+       manual_add_modules fuse
 
-# FUSE filesystem: curlftpfs
-if [ -x /usr/bin/curlftpfs ]
-then
-       [ "${QUIET}" ] || echo -n " ftpfs"
-       copy_exec /usr/bin/curlftpfs /bin
+       # 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
 fi
 
 # iSCSI
@@ -216,23 +240,28 @@ fi
 
 # Some experimental stuff
 
-case "${LIVE_DNS}" in
-       true)
-               [ "${QUIET}" ] || echo -n " dns"
+[ "${QUIET}" ] || echo -n " dns"
 
-               # /lib/libnss_dns.so.*:a   DNS
-               # /lib/libnss_files.so.*:  /etc/hosts and /etc/passwd
-               # /lib/libnss_compat.so.*: /etc/passwd
+# /lib/libnss_dns.so.*:a   DNS
+# /lib/libnss_files.so.*:  /etc/hosts and /etc/passwd
+# /lib/libnss_compat.so.*: /etc/passwd
+
+for _SHLIB in $(find /lib -name 'libnss_dns.so.*' -o -name 'libnss_files.so.*')
+do
+       copy_exec "${_SHLIB}"
+done
 
-               for _SHLIB in $(find /lib -name 'libnss_dns.so.*')
-               do
-                       copy_exec "${_SHLIB}"
-               done
+if [ ! -e "${DESTDIR}/etc/nsswitch.conf" ]
+then
+       # Needed to make "hostname -f" honor the domainname provided by DHCP
+       echo "hosts: files dns" > "${DESTDIR}/etc/nsswitch.conf"
+fi
 
-               # might be needed if /etc/hosts is used
-               #mkdir -p "${DESTDIR}/etc"
-               #cp -p /etc/nsswitch.conf "${DESTDIR}/etc"
-               ;;
-esac
+# vlan support
+if [ -x /sbin/vconfig ]
+then
+       copy_exec /sbin/vconfig
+       manual_add_modules 8021q
+fi
 
 [ "${QUIET}" ] || echo .