diff options
author | Lukas Fleischer <archlinux@cryptocrack.de> | 2012-01-29 03:52:34 +0100 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2012-01-31 00:20:35 +0100 |
commit | f31bbefc876aadbd9eee3750a1a1a606a2053028 (patch) | |
tree | 88a5792c3538cdf6ceec7dbb7dfca8101f2b1149 | |
parent | fe99dfb859174b7f0843b3a5793896811a66accb (diff) |
Add fastboot support
This one adds support for the "/fastboot" file, as well as the
"fastboot" kernel command line parameter. If either of them is
specified, file system checks are skipped. The only exception is the
existence of "/forcefsck" or the "forcefsck" kernel parameter which have
precedence over fastboot.
Implements FS#26154.
Reported-by: Mark <mark@voidzero.net>
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
-rwxr-xr-x | rc.sysinit | 27 | ||||
-rw-r--r-- | tmpfiles.conf | 1 |
2 files changed, 16 insertions, 12 deletions
@@ -175,19 +175,22 @@ fi # Check filesystems [[ -f /forcefsck ]] || in_array forcefsck $(< /proc/cmdline) && FORCEFSCK="-- -f" declare -r FORCEFSCK -run_hook sysinit_prefsck -if [[ -x $(type -P fsck) ]]; then - stat_busy "Checking Filesystems" - fsck_all >|"${FSCK_OUT:-/dev/stdout}" 2>|"${FSCK_ERR:-/dev/stdout}" - declare -r fsckret=$? - (( fsckret <= 1 )) && stat_done || stat_fail -else - declare -r fsckret=0 -fi -run_hook sysinit_postfsck -# Single-user login and/or automatic reboot if needed -fsck_reboot $fsckret +if [[ -n $FORCEFSCK ]] || { [[ ! -f /fastboot ]] && ! in_array fastboot $(< /proc/cmdline); }; then + run_hook sysinit_prefsck + if [[ -x $(type -P fsck) ]]; then + stat_busy "Checking Filesystems" + fsck_all >|"${FSCK_OUT:-/dev/stdout}" 2>|"${FSCK_ERR:-/dev/stdout}" + declare -r fsckret=$? + (( fsckret <= 1 )) && stat_done || stat_fail + else + declare -r fsckret=0 + fi + run_hook sysinit_postfsck + + # Single-user login and/or automatic reboot if needed + fsck_reboot $fsckret +fi status "Remounting Root" \ mount -o remount / diff --git a/tmpfiles.conf b/tmpfiles.conf index 8668116..a63ca07 100644 --- a/tmpfiles.conf +++ b/tmpfiles.conf @@ -17,4 +17,5 @@ r /tmp/.X[0-9]-lock r /etc/nologin r /etc/shutdownpid r /forcefsck +r /fastboot |