Updating eject prevention for USB devices in initscripts for linux 2.6.29 and newer.
[live-boot-grml.git] / debian / live-initramfs.init
index 4cf767a..f7ac223 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