X-Git-Url: http://git.grml.org/?a=blobdiff_plain;ds=sidebyside;f=debian%2Flive-initramfs.init;h=1ba8d5c4d2967d42ab604e70298dc9828b70b5a9;hb=fedd8a329d4b8181ff56701a69f3ab3836b67f09;hp=8b10e90336e7c057f1e496e4a0a0a306767d6093;hpb=eb1854ed1cbd9be5266bf90fd841b2ddb59959f9;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 8b10e90..1ba8d5c 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,30 +138,31 @@ 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 - [ "$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 ;; *)