fsck_root revision 1.1
11.1Sjoerg#!/bin/sh 21.1Sjoerg# 31.1Sjoerg# $NetBSD: fsck_root,v 1.1 2009/04/21 16:08:57 joerg Exp $ 41.1Sjoerg# 51.1Sjoerg 61.1Sjoerg# PROVIDE: fsck_root 71.1Sjoerg 81.1Sjoerg$_rc_subr_loaded . /etc/rc.subr 91.1Sjoerg 101.1Sjoergname="fsck_root" 111.1Sjoergstart_cmd="fsck_root_start" 121.1Sjoergstop_cmd=":" 131.1Sjoerg 141.1Sjoergfsck_root_start() 151.1Sjoerg{ 161.1Sjoerg if [ -e /fastboot ]; then 171.1Sjoerg echo "Fast boot: skipping disk checks." 181.1Sjoerg return 191.1Sjoerg fi 201.1Sjoerg trap : 2 # Ignore SIGINT, SIGQUIT, so we 211.1Sjoerg trap : 3 # enter single-user mode on failure. 221.1Sjoerg 231.1Sjoerg echo "Starting root file system check:" 241.1Sjoerg fsck $fsck_flags / 251.1Sjoerg local fsck_error="$?" 261.1Sjoerg case $fsck_error in 271.1Sjoerg 0) # OK 281.1Sjoerg return 291.1Sjoerg ;; 301.1Sjoerg 2) # Needs re-run, still fs errors 311.1Sjoerg echo "file system still has errors; re-run fsck manually!" 321.1Sjoerg ;; 331.1Sjoerg 4) # Root modified 341.1Sjoerg echo "Root filesystem was modified, rebooting ..." 351.1Sjoerg reboot 361.1Sjoerg echo "Reboot failed; help!" 371.1Sjoerg ;; 381.1Sjoerg 8) # Check failed 391.1Sjoerg echo "Automatic file system check failed; help!" 401.1Sjoerg ;; 411.1Sjoerg 12) # Got signal 421.1Sjoerg echo "Boot interrupted." 431.1Sjoerg ;; 441.1Sjoerg *) 451.1Sjoerg echo "Unknown error $fsck_error; help!" 461.1Sjoerg ;; 471.1Sjoerg esac 481.1Sjoerg stop_boot 491.1Sjoerg} 501.1Sjoerg 511.1Sjoergload_rc_config $name 521.1Sjoergrun_rc_command "$1" 53