X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Flive-initramfs.init;h=ac7cd8e182aeeba5bb0087aa88422e546998f65e;hb=9818932dff9f5334fb6b709f1b5168a43e6e6843;hp=07f707c581fbb6a68d0cadcf8c32d257c6785148;hpb=7fdda6501938d86e2632470e11f33abbf9c78661;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 07f707c..ac7cd8e 100644 --- a/debian/live-initramfs.init +++ b/debian/live-initramfs.init @@ -3,10 +3,11 @@ ### 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 @@ -115,13 +116,28 @@ do_stop () 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 prompt= fi - for path in $(which halt) $(which reboot) /etc/rc?.d /etc/default $(which stty) + for path in $(which halt) $(which reboot) /etc/rc?.d /etc/default $(which stty) /bin/plymouth /sbin/usplash_write do cache_path "${path}" done @@ -156,30 +172,37 @@ do_stop () eject -p -m /live/image >/dev/null 2>&1 fi - [ "$prompt" ] || return 0 fi - stty sane < /dev/console + [ "$prompt" ] || return 0 - printf "\n\n${MESSAGE} and press ENTER to continue:" > /dev/console - - if [ -x /sbin/usplash_write ] + if [ -x /bin/plymouth ] && plymouth --ping then - /sbin/usplash_write "TIMEOUT 86400" - /sbin/usplash_write "TEXT-URGENT ${MESSAGE}" - /sbin/usplash_write "TEXT-URGENT and press ENTER to continue" - fi + plymouth message --text="${MESSAGE} and press ENTER to continue:" + plymouth watch-keystroke > /dev/null + else + stty sane < /dev/console + + printf "\n\n${MESSAGE} and press ENTER to continue:" > /dev/console - read x < /dev/console + if [ -x /sbin/usplash_write ] + then + /sbin/usplash_write "TIMEOUT 86400" + /sbin/usplash_write "TEXT-URGENT ${MESSAGE}" + /sbin/usplash_write "TEXT-URGENT and press ENTER to continue" + fi + + read x < /dev/console + fi fi } 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 @@ -192,6 +215,8 @@ case "${1}" in [ "${VERBOSE}" != no ] && log_end_msg 1 ;; esac + + mount -o remount,ro /live/cow ;; *)