You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
7 years ago
|
# 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
|