### BEGIN INIT INFO
# Provides: live-initramfs
# Required-Start: $syslog
-# Required-Stop: $syslog
+# Required-Stop:
# Should-Start: $local_fs
-# Should-Stop: $local_fs
-# Default-Start: 1 2 3 4 5
+# Should-Stop: halt reboot
+# X-Stop-After: umountroot
+# Default-Start:
# Default-Stop: 0 6
# Short-Description: live-initramfs init script
# Description: Resyncs snapshots, evantually caches files in order to
[ "$(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
return 0
fi
+ # Don't prompt to eject the SD card on Babbage board, where we reuse it
+ # as a quasi-boot-floppy. Technically this uses a bit of ubiquity
+ # (archdetect), but since this is mostly only relevant for
+ # installations, who cares ...
+ if type archdetect >/dev/null 2>&1
+ then
+ subarch="$(archdetect)"
+
+ case $subarch in
+ arm*/imx51)
+ return 0
+ ;;
+ esac
+ fi
+
prompt=1
if grep -qs noprompt /proc/cmdline
then
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
}
case "${1}" in
- start|restart|reload|force-reload|status)
+ restart|reload|force-reload|status)
[ "${VERBOSE}" != no ] && log_end_msg 0
;;
- stop)
+ start|stop)
log_begin_msg "${NAME} is resyncing snapshots and caching reboot files..."
do_stop
[ "${VERBOSE}" != no ] && log_end_msg 1
;;
esac
+
+ mount -o remount,ro /live/cow
;;
*)