From e687cc1e79f95c3fb69ed895e5666e434c1a3519 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Thu, 31 Jan 2008 16:10:18 +0000 Subject: Remove the over-engineered checkfs and checkroot scripts and replace with simple fsck, root and mtab scripts. Update dependencies accordingly. --- init.d/fsck | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 init.d/fsck (limited to 'init.d/fsck') diff --git a/init.d/fsck b/init.d/fsck new file mode 100644 index 00000000..01c92a69 --- /dev/null +++ b/init.d/fsck @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 2007-2008 Roy Marples +# All rights reserved. Released under the 2-clause BSD license. + +description="Check and repair filesystems according to /etc/fstab" + +depend() +{ + need swap + after clock modules + keywords notimeout +} + +start() +{ + local retval=0 opts= root= + if [ "${RC_UNAME}" = "Linux" ]; then + opts="${opts} -A -C0 -T" + if echo 2>/dev/null >/.test.$$; then + rm -f /.test.$$ + opts="${opts} -R" + fi + fi + + ebegin "Checking local filesystems" + fsck -p ${opts} + case $? in + 0) eend 0; return 0;; + 1) ewend 1 "Filesystems repaired"; return 0;; + 2|4) ewend 1 "Filesystems repaired, but reboot needed" + reboot; exec rc-abort; return 1;; + 8) ewend 1 "Operational error"; return 0;; + 12) ewend 1 "fsck interupted"; return 1;; + *) eend 2 "Filesystems couldn't be fixed" + exec rc-abort; return 1;; + esac +} -- cgit v1.2.3