[ "$(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
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
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)"
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