summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initscripts/initscripts-1.0/checkfs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/initscripts/initscripts-1.0/checkfs.sh')
-rwxr-xr-xmeta/recipes-core/initscripts/initscripts-1.0/checkfs.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/checkfs.sh b/meta/recipes-core/initscripts/initscripts-1.0/checkfs.sh
new file mode 100755
index 0000000000..91897d4cbb
--- /dev/null
+++ b/meta/recipes-core/initscripts/initscripts-1.0/checkfs.sh
@@ -0,0 +1,49 @@
+### BEGIN INIT INFO
+# Provides: checkfs
+# Required-Start: checkroot
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Check all other file systems
+### END INIT INFO
+
+. /etc/default/rcS
+
+#
+# Check the rest of the filesystems.
+#
+if test ! -f /fastboot
+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 all filesystems..."
+ fsck $spinner -R -A $fix $force
+ if test "$?" -gt 1
+ then
+ echo
+ echo "fsck failed. Please repair manually."
+ echo
+ echo "CONTROL-D will exit from this shell and continue system startup."
+ echo
+ # Start a single user shell on the console
+ /sbin/sulogin $CONSOLE
+ fi
+fi
+rm -f /fastboot /forcefsck
+
+: exit 0