[BACK]Return to fsck CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / etc / rc.d

File: [cvs.NetBSD.org] / src / etc / rc.d / fsck (download)

Revision 1.1.2.2, Wed Aug 23 12:32:17 2000 UTC (23 years, 7 months ago) by lukem
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA
Changes since 1.1.2.1: +68 -0 lines

pull up the following:
    etc/rc.d/Makefile	1.12
    etc/rc.d/fsck	1.1
    etc/rc.d/fsck.sh	REMOVE
replace fsck.sh with fsck (using kill -TERM $$ to stop autoboot).

approved: thorpej

#!/bin/sh
#
# $NetBSD: fsck,v 1.1.2.2 2000/08/23 12:32:17 lukem Exp $
#

# PROVIDE: fsck
# REQUIRE: localswap

. /etc/rc.subr

name="fsck"
start_cmd="fsck_start"
stop_cmd=":"

stop_boot()
{
	#	Terminate the process (which may include the parent /etc/rc)
	#	if booting directly to multiuser mode.
	#
	if [ "$autoboot" = yes ]; then
		kill -TERM $$
	fi
	exit 1
}

fsck_start()
{
	if [ -e /fastboot ]; then
		echo "Fast boot: skipping disk checks."
	elif [ "$autoboot" = yes ]; then
					# During fsck ignore SIGQUIT
		trap : 3

		echo "Automatic boot in progress: starting file system checks."
		fsck -p
		case $? in
		0)
			;;
		2)
			stop_boot
			;;
		4)
			echo "Rebooting..."
			reboot
			echo "Reboot failed; help!"
			stop_boot
			;;
		8)
			echo "Automatic file system check failed; help!"
			stop_boot
			;;
		12)
			echo "Boot interrupted."
			stop_boot
			;;
		130)
			stop_boot
			;;
		*)
			echo "Unknown error; help!"
			stop_boot
			;;
		esac
	fi
}

load_rc_config $name
run_rc_command "$1"