fsck_root revision 1.1
11.94Smjacob#!/bin/sh 21.60Smjacob# 31.60Smjacob# $NetBSD: fsck_root,v 1.1 2009/04/21 16:08:57 joerg Exp $ 41.60Smjacob# 51.60Smjacob 61.64Swiz# PROVIDE: fsck_root 71.64Swiz 81.64Swiz$_rc_subr_loaded . /etc/rc.subr 91.64Swiz 101.64Swizname="fsck_root" 111.64Swizstart_cmd="fsck_root_start" 121.64Swizstop_cmd=":" 131.64Swiz 141.64Swizfsck_root_start() 151.60Smjacob{ 161.60Smjacob if [ -e /fastboot ]; then 171.60Smjacob echo "Fast boot: skipping disk checks." 181.60Smjacob return 191.60Smjacob fi 201.60Smjacob trap : 2 # Ignore SIGINT, SIGQUIT, so we 211.60Smjacob trap : 3 # enter single-user mode on failure. 221.60Smjacob 231.60Smjacob echo "Starting root file system check:" 241.60Smjacob fsck $fsck_flags / 251.60Smjacob local fsck_error="$?" 261.60Smjacob case $fsck_error in 271.60Smjacob 0) # OK 281.60Smjacob return 291.60Smjacob ;; 301.1Scgd 2) # Needs re-run, still fs errors 311.54Smjacob echo "file system still has errors; re-run fsck manually!" 321.54Smjacob ;; 331.54Smjacob 4) # Root modified 341.73Smjacob echo "Root filesystem was modified, rebooting ..." 351.54Smjacob reboot 361.1Scgd echo "Reboot failed; help!" 371.1Scgd ;; 381.1Scgd 8) # Check failed 391.1Scgd echo "Automatic file system check failed; help!" 401.1Scgd ;; 411.1Scgd 12) # Got signal 421.54Smjacob echo "Boot interrupted." 431.54Smjacob ;; 441.62Smjacob *) 451.54Smjacob echo "Unknown error $fsck_error; help!" 461.1Scgd ;; 471.54Smjacob esac 481.54Smjacob stop_boot 491.54Smjacob} 501.54Smjacob 511.54Smjacobload_rc_config $name 521.54Smjacobrun_rc_command "$1" 531.54Smjacob