Home | History | Annotate | Line # | Download | only in rc.d
fsck_root revision 1.2.2.2
      1  1.2.2.2  jym #!/bin/sh
      2  1.2.2.2  jym #
      3  1.2.2.2  jym # $NetBSD: fsck_root,v 1.2.2.2 2009/05/13 19:18:03 jym Exp $
      4  1.2.2.2  jym #
      5  1.2.2.2  jym 
      6  1.2.2.2  jym # PROVIDE: fsck_root
      7  1.2.2.2  jym 
      8  1.2.2.2  jym $_rc_subr_loaded . /etc/rc.subr
      9  1.2.2.2  jym 
     10  1.2.2.2  jym name="fsck_root"
     11  1.2.2.2  jym start_cmd="fsck_root_start"
     12  1.2.2.2  jym stop_cmd=":"
     13  1.2.2.2  jym 
     14  1.2.2.2  jym fsck_root_start()
     15  1.2.2.2  jym {
     16  1.2.2.2  jym 	if [ -e /fastboot ]; then
     17  1.2.2.2  jym 		echo "Fast boot: skipping disk checks."
     18  1.2.2.2  jym 		return
     19  1.2.2.2  jym 	fi
     20  1.2.2.2  jym 	trap : 2 		# Ignore SIGINT, SIGQUIT, so we
     21  1.2.2.2  jym 	trap : 3		# enter single-user mode on failure.
     22  1.2.2.2  jym 
     23  1.2.2.2  jym 	echo "Starting root file system check:"
     24  1.2.2.2  jym 	fsck $fsck_flags /
     25  1.2.2.2  jym 	local fsck_error="$?"
     26  1.2.2.2  jym 	case $fsck_error in
     27  1.2.2.2  jym 	0)	# OK
     28  1.2.2.2  jym 		return
     29  1.2.2.2  jym 		;;
     30  1.2.2.2  jym 	2)	# Needs re-run, still fs errors
     31  1.2.2.2  jym 		echo "file system still has errors; re-run fsck manually!"
     32  1.2.2.2  jym 		;;
     33  1.2.2.2  jym 	4)	# Root modified
     34  1.2.2.2  jym 		echo "Root filesystem was modified, rebooting ..."
     35  1.2.2.2  jym 		reboot
     36  1.2.2.2  jym 		echo "Reboot failed; help!"
     37  1.2.2.2  jym 		;;
     38  1.2.2.2  jym 	8)	# Check failed
     39  1.2.2.2  jym 		echo "Automatic file system check failed; help!"
     40  1.2.2.2  jym 		;;
     41  1.2.2.2  jym 	12)	# Got signal
     42  1.2.2.2  jym 		echo "Boot interrupted."
     43  1.2.2.2  jym 		;;
     44  1.2.2.2  jym 	*)
     45  1.2.2.2  jym 		echo "Unknown error $fsck_error; help!"
     46  1.2.2.2  jym 		;;
     47  1.2.2.2  jym 	esac
     48  1.2.2.2  jym 	stop_boot
     49  1.2.2.2  jym }
     50  1.2.2.2  jym 
     51  1.2.2.2  jym load_rc_config $name
     52  1.2.2.2  jym run_rc_command "$1"
     53