X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Flive-initramfs.init;h=da461b54bc49369958f57a49e9ecde9414851d9a;hb=8a6578c6db6968b96e2369ce39f57d76ee3fccd9;hp=3204924c74c46d2c4e26e10d8f641e6e4e8f0331;hpb=2eb46e45daa7883cde61acf519270faef6f76ded;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 3204924..da461b5 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,6 +116,21 @@ 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 @@ -137,11 +153,6 @@ 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)" @@ -161,30 +172,37 @@ do_stop () eject -p -m /live/image >/dev/null 2>&1 fi - [ "$prompt" ] || return 0 fi - stty sane < /dev/console - - printf "\n\n${MESSAGE} and press ENTER to continue:" > /dev/console + [ "$prompt" ] || return 0 - 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 + + 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 + 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 @@ -197,6 +215,8 @@ case "${1}" in [ "${VERBOSE}" != no ] && log_end_msg 1 ;; esac + + mount -o remount,ro /live/cow ;; *)