X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=debian%2Flive-initramfs.init;h=92e42b35cbce86367735c45094126915a6769531;hb=1bad81c0450e84a94dc1d5f4ead9886f15749b80;hp=2082a2b6d20737bd79196b52c38fd322654d6e5d;hpb=ce0b33407eac1411ab2ca7b9e985f39e2561b098;p=live-boot-grml.git diff --git a/debian/live-initramfs.init b/debian/live-initramfs.init index 2082a2b..92e42b3 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 @@ -85,7 +86,8 @@ device_is_USB_flash_drive() [ "$(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 @@ -106,8 +108,6 @@ do_stop () then ${DO_SNAPSHOT} --resync-string="${HOMESNAP}" fi - else - return 0 fi # check for netboot @@ -116,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 @@ -157,12 +172,13 @@ do_stop () 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 @@ -176,11 +192,11 @@ do_stop () } 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 @@ -193,6 +209,8 @@ case "${1}" in [ "${VERBOSE}" != no ] && log_end_msg 1 ;; esac + + mount -o remount,ro /live/cow ;; *)