summaryrefslogtreecommitdiff
path: root/packages/initscripts/initscripts-1.0/slugos/checkroot.sh
diff options
context:
space:
mode:
authorMike Westerhof <mwester@dls.net>2009-01-25 00:22:59 -0600
committerMike Westerhof <mwester@dls.net>2009-01-25 00:22:59 -0600
commitb49e09758de7f29c049c12213347cb32fb64d7a4 (patch)
treeaa53ce0bf2a37e9bea305e8f83a16511c7947a92 /packages/initscripts/initscripts-1.0/slugos/checkroot.sh
parent1fb3bb6d4025793ef378c2cbe39f1af16c86131f (diff)
SlugOS: rename checkroot.sh to checkroot to avoid rcS "sourcing"
SlugOS checkroot script redirects I/O which does not play well with the new "optimized" rcS behavior, which is to source any init scripts ending in "sh".
Diffstat (limited to 'packages/initscripts/initscripts-1.0/slugos/checkroot.sh')
-rw-r--r--packages/initscripts/initscripts-1.0/slugos/checkroot.sh177
1 files changed, 0 insertions, 177 deletions
diff --git a/packages/initscripts/initscripts-1.0/slugos/checkroot.sh b/packages/initscripts/initscripts-1.0/slugos/checkroot.sh
deleted file mode 100644
index 3943f13427..0000000000
--- a/packages/initscripts/initscripts-1.0/slugos/checkroot.sh
+++ /dev/null
@@ -1,177 +0,0 @@
-#
-# checkroot.sh Check to root filesystem.
-#
-# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl
-#
-
-. /etc/default/functions
-. /etc/default/rcS
-
-#
-# Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to be spawned
-# from this script *before anything else* with a timeout, like SCO does.
-#
-test "$SULOGIN" = yes && sulogin -t 30 $CONSOLE
-
-#
-# Ensure that bdflush (update) is running before any major I/O is
-# performed (the following fsck is a good example of such activity :).
-#
-test -x /sbin/update && update
-
-#
-# Read /etc/fstab.
-#
-exec 9>&0 </etc/fstab
-rootmode=rw
-rootopts=rw
-swap_on_md=no
-devfs=
-while read fs mnt type opts dump pass junk
-do
- case "$fs" in
- ""|\#*)
- continue;
- ;;
- /dev/md*)
- # Swap on md device.
- test "$type" = swap && swap_on_md=yes
- ;;
- /dev/*)
- ;;
- *)
- # Might be a swapfile.
- test "$type" = swap && swap_on_md=yes
- ;;
- esac
- test "$type" = devfs && devfs="$fs"
- test "$mnt" != / && continue
- rootopts="$opts"
- test "$pass" = 0 -o "$pass" = "" && ROOTFSCK=no
- case "$opts" in
- ro|ro,*|*,ro|*,ro,*)
- rootmode=ro
- ;;
- esac
-done
-exec 0>&9 9>&-
-
-#
-# Activate the swap device(s) in /etc/fstab. This needs to be done
-# before fsck, since fsck can be quite memory-hungry.
-#
-# We don't test whether we're running a 2.[0123].x kernel and md
-# since that's plain too old.
-
-if test "$DOSWAP" != no
-then
- swaps="$(blkid -t TYPE=swap -o device 2>/dev/null)"
- if test -n "$swaps"
- then
- swapon $swaps 2>/dev/null
- else
- swapon -a 2> /dev/null
- fi
-fi
-
-#
-# Check the root filesystem.
-#
-if test -f /fastboot || test "$ROOTFSCK" != yes
-then
- test "$ROOTFSCK" = yes && echo "Fast boot, no filesystem check"
-elif test ! -x /sbin/fsck -a ! -x /usr/sbin/fsck
-then
- echo "/etc/init.d/checkroot.sh: no fsck"
-else
- leds disk-1 slow
- #
- # Ensure that root is quiescent and read-only before fsck'ing.
- #
- mount -n -o remount,ro /
- if test $? = 0
- then
- if test -f /forcefsck
- then
- force="-f"
- else
- force=""
- fi
- if test "$FSCKFIX" = yes
- then
- fix="-y"
- else
- fix="-a"
- fi
- spinner="-C"
- case "$TERM" in
- dumb|network|unknown|"") spinner="" ;;
- esac
- test "$VERBOSE" != no && echo "Checking root filesystem..."
- fsck $spinner $force $fix /
- #
- # If there was a failure, drop into single-user mode.
- #
- # NOTE: "failure" is defined as exiting with a return code of
- # 2 or larger. A return code of 1 indicates that filesystem
- # errors were corrected but that the boot may proceed.
- #
- if test "$?" -gt 1
- then
- # Surprise! Re-directing from a HERE document (as in
- # "cat << EOF") won't work, because the root is read-only.
- echo
- echo "fsck failed. Please repair manually and reboot. Please note"
- echo "that the root filesystem is currently mounted read-only. To"
- echo "remount it read-write:"
- echo
- echo " # mount -n -o remount,rw /"
- echo
- echo "CONTROL-D will exit from this shell and REBOOT the system."
- echo
- leds system panic
- leds beep -r 5
- # Start a single user shell on the console
- if single_user_ok
- then
- sulogin -t 600 $CONSOLE
- # if this exits with SIGALRM (which happens to be 142) the
- # timeout happened, do not, then, reboot!
- if test $? -ne 142
- then
- reboot -f
- else
- echo "/etc/init.d/checkroot.sh: sulogin timeout, continuing boot"
- fi
- else
- echo "/etc/init.d/checkroot.sh: fsck failed, continuing boot"
- fi
- fi
- else
- echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!"
- echo
- fi
- leds disk-1 off
-fi
-
-#
-# If the root filesystem was not marked as read-only in /etc/fstab,
-# remount the rootfs rw but do not try to change mtab because it
-# is on a ro fs until the remount succeeded. Then clean up old mtabs
-# and finally write the new mtab.
-#
-mount -n -o remount,$rootopts /
-if test "$rootmode" = rw
-then
- if test ! -L /etc/mtab
- then
- rm -f /etc/mtab~ /etc/nologin
- : > /etc/mtab
- fi
- mount -f -o remount /
- mount -f /proc
- mount -f /sys
- test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
-fi
-
-: exit 0