diff options
Diffstat (limited to 'packages/initscripts/initscripts-1.0/angstrom/checkroot.sh')
-rwxr-xr-x | packages/initscripts/initscripts-1.0/angstrom/checkroot.sh | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/packages/initscripts/initscripts-1.0/angstrom/checkroot.sh b/packages/initscripts/initscripts-1.0/angstrom/checkroot.sh deleted file mode 100755 index e5fc6ed8b5..0000000000 --- a/packages/initscripts/initscripts-1.0/angstrom/checkroot.sh +++ /dev/null @@ -1,201 +0,0 @@ -# -# checkroot.sh Check to root filesystem. -# -# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl -# - -. /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 -test "$ENABLE_ROOTFS_FSCK" = yes && rootcheck="yes" || rootcheck="no" -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" - - # Currently we do not care about the other entries - if test "$mnt" = "/" - then - #echo "[$fs] [$mnt] [$type] [$opts] [$dump] [$pass] [$junk]" - - rootopts="$opts" - roottype="$type" - - #The "spinner" is broken on busybox sh - TERM=dumb - - test "$pass" = 0 -o "$pass" = "" && rootcheck=no - - # Enable fsck for ext2 and ext3 rootfs, disable for everything else - case "$type" in - ext2|ext3) rootcheck=yes;; - *) rootcheck=no;; - esac - - if test "$rootcheck" = yes - then - if ! test -x "/sbin/fsck.${roottype}" - then - echo -e "\n * * * WARNING: /sbin/fsck.${roottype} is missing! * * *\n" - rootcheck=no - fi - fi - - case "$opts" in - ro|ro,*|*,ro|*,ro,*) - rootmode=ro - ;; - esac - fi -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. -# -doswap=no -test -d /proc/1 || mount -n /proc -case "`uname -r`" in - 2.[0123].*) - if test $swap_on_md = yes && grep -qs resync /proc/mdstat - then - test "$VERBOSE" != no && echo "Not activating swap - RAID array resyncing" - else - doswap=yes - fi - ;; - *) - doswap=yes - ;; -esac -if test $doswap = yes -then - test "$VERBOSE" != no && echo "Activating swap" - swapon -a 2> /dev/null -fi - -# -# Check the root filesystem. -# -if test -f /fastboot || test $rootcheck = no -then - test $rootcheck = yes && echo "Fast boot, no filesystem check" -else - # - # 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 `uname -m` = s390 && spinner="" # This should go away - 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 - # Start a single user shell on the console - /sbin/sulogin $CONSOLE - reboot -f - fi - else - echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!" - echo - fi -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. -# This part is only needed if the rootfs was mounted ro. -# - -if [ $(grep "/dev/root" /proc/mounts | awk '{print $4}') = rw ]; then - exit 0 -fi - - -echo "Remounting root file system..." -mount -n -o remount,$rootmode / -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 - test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs" -fi - -: exit 0 |