Removing unused sed call in update target of Makefile.
[live-boot-grml.git] / debian / live-initramfs.init
index 8b10e90..07f707c 100644 (file)
@@ -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