X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Flive-initramfs.init;h=5c79401a99afd21412d6db461b114d1707bf7daf;hb=52d38b19fc674941f1e4e7db6c4e4d87a6727afb;hp=4cf767a3d162906f2f030a5f08189ad48010d00a;hpb=79f0c94fda8a11073a632320a353afc4fc6095ad;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 4cf767a..5c79401 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 @@ -133,6 +137,11 @@ do_stop () if [ -z ${QUICKREBOOT} ] then + # in order to deal with the aufs unmount problem, we do a sync here. + sync + sleep 1 + sync + # TODO: i18n BOOT_DEVICE="$(get_boot_device)" @@ -152,12 +161,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