X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Flive-initramfs.init;h=ac7cd8e182aeeba5bb0087aa88422e546998f65e;hb=a606391b56012c067ae44b20690df5ae39dbc052;hp=d9245353015c26a2a6a13bea9cb95dec316e9bb7;hpb=f8b6cd10800c346b81b10c6f4891d6f64883140c;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index d924535..ac7cd8e 100644 --- a/debian/live-initramfs.init +++ b/debian/live-initramfs.init @@ -116,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 @@ -161,27 +176,33 @@ do_stop () [ "$prompt" ] || return 0 - stty sane < /dev/console + if [ -x /bin/plymouth ] && plymouth --ping + then + 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 + 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 + 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