X-Git-Url: http://git.grml.org/?a=blobdiff_plain;ds=sidebyside;f=debian%2Flive-initramfs.init;h=3204924c74c46d2c4e26e10d8f641e6e4e8f0331;hb=be744799f72f8d1d264fb0c20efae469c15abb18;hp=4cf767a3d162906f2f030a5f08189ad48010d00a;hpb=76f26cf7153568668df8885ea3626bc6c37bfc31;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 4cf767a..3204924 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)" @@ -157,7 +166,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