X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Flive-initramfs.init;h=07f707c581fbb6a68d0cadcf8c32d257c6785148;hb=f2a96ee75e6376f3674fbaf8a78b03c28e03c692;hp=8b10e90336e7c057f1e496e4a0a0a306767d6093;hpb=694c1570628a417662a80186f484722254d4037b;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 8b10e90..07f707c 100644 --- a/debian/live-initramfs.init +++ b/debian/live-initramfs.init @@ -85,7 +85,8 @@ device_is_USB_flash_drive() [ "$(expr substr ${DEVICE} 1 2)" != "sd" ] && return 1 # check that the device is an USB device - if readlink /sys/block/${DEVICE}/device | grep -q usb + if readlink /sys/block/${DEVICE} | grep -q usb || + readlink /sys/block/${DEVICE}/device | grep -q usb # linux < 2.6.29 then return 0 fi @@ -95,14 +96,17 @@ device_is_USB_flash_drive() do_stop () { - if [ ! -z "${ROOTSNAP}" ] + if ! grep -qs nopersistent /proc/cmdline && grep -qs persistent /proc/cmdline then - ${DO_SNAPSHOT} --resync-string="${ROOTSNAP}" - fi + if [ ! -z "${ROOTSNAP}" ] + then + ${DO_SNAPSHOT} --resync-string="${ROOTSNAP}" + fi - if [ ! -z "${HOMESNAP}" ] - then - ${DO_SNAPSHOT} --resync-string="${HOMESNAP}" + if [ ! -z "${HOMESNAP}" ] + then + ${DO_SNAPSHOT} --resync-string="${HOMESNAP}" + fi fi # check for netboot @@ -134,21 +138,21 @@ do_stop () if [ -z ${QUICKREBOOT} ] then # TODO: i18n - if [ -x /usr/bin/eject ] - then - BOOT_DEVICE="$(get_boot_device)" + BOOT_DEVICE="$(get_boot_device)" - if device_is_USB_flash_drive ${BOOT_DEVICE} + if device_is_USB_flash_drive ${BOOT_DEVICE} + then + # do NOT eject USB flash drives! + # otherwise rebooting with most USB flash drives + # failes because they actually remember the + # "ejected" state even after reboot + MESSAGE="Please remove the USB flash drive" + else + # ejecting is a very good idea here + MESSAGE="Please remove the disc, close the the tray (if any)" + + if [ -x /usr/bin/eject ] then - # do NOT eject USB flash drives! - # otherwise rebooting with most USB flash drives - # failes because they actually remember the - # "ejected" state even after reboot - MESSAGE="Please remove the USB flash drive" - else - # ejecting is a very good idea here - MESSAGE="Please remove the disc, close the the tray (if any)" - eject -p -m /live/image >/dev/null 2>&1 fi @@ -157,7 +161,7 @@ do_stop () stty sane < /dev/console - echo -n -e "\n\n${MESSAGE} and press ENTER to continue:" > /dev/console + printf "\n\n${MESSAGE} and press ENTER to continue:" > /dev/console if [ -x /sbin/usplash_write ] then