Merging casper 1.183.
[live-boot-grml.git] / debian / live-initramfs.init
index 4cf767a..1ba8d5c 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
@@ -152,12 +156,13 @@ do_stop ()
                                eject -p -m /live/image >/dev/null 2>&1
                        fi
 
-                       [ "$prompt" ] || return 0
                fi
 
+               [ "$prompt" ] || return 0
+
                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
@@ -188,6 +193,8 @@ case "${1}" in
                                [ "${VERBOSE}" != no ] && log_end_msg 1
                                ;;
                esac
+
+               mount -o remount,ro /live/cow
                ;;
 
        *)