# mountall-shell - Recovery shell for filesystem failure # # If mountall exits to indicate that manual recovery is required, this # starts the necessary shell. description "Recovery shell for filesystem failure" start on (stopped mountall EXIT_STATUS=[!4] or stopped mountall EXIT_SIGNAL=?*) stop on runlevel [06] task console owner script case "$EXIT_STATUS" in ""|1) echo "General error mounting filesystems." echo "A maintenance shell will now be started." echo "CONTROL-D will terminate this shell and reboot the system." ;; 2) echo "Filesystem check or mount failed." echo "A maintenance shell will now be started." echo "CONTROL-D will terminate this shell and continue booting after re-trying" echo "filesystems. Any further errors will be ignored" ;; 3) echo "Root filesystem check failed." echo "A maintenance shell will now be started." echo "CONTROL-D will terminate this shell and reboot the system." ;; esac /sbin/sulogin end script post-stop script if [ -z "$UPSTART_STOP_EVENTS" ] then if [ "$EXIT_STATUS" = "2" ] then exec start --no-wait mountall else umount -a || : exec reboot -f fi fi end script