[Pkg-sysvinit-devel] Bug#734901: initscripts: More Proper Detection of "fastboot"

Petter Reinholdtsen pere at hungry.com
Tue Feb 4 10:27:10 UTC 2014


Control: tags -1 + patch

Hi.  Can you test this patch and see if it solve your problem?

diff --git a/debian/src/initscripts/etc/init.d/checkfs.sh b/debian/src/initscripts/etc/init.d/checkfs.sh
index 7ee3bbe..3f143f4 100755
--- a/debian/src/initscripts/etc/init.d/checkfs.sh
+++ b/debian/src/initscripts/etc/init.d/checkfs.sh
@@ -18,6 +18,7 @@ FSCK_LOGFILE=/var/log/fsck/checkfs
 . /lib/init/vars.sh
 
 . /lib/lsb/init-functions
+. /lib/init/mount-functions.sh
 . /lib/init/swap-functions.sh
 
 do_start () {
@@ -42,7 +43,7 @@ do_start () {
        BAT=""
        fscheck="yes"
 
-       if [ -f /fastboot ] || grep -s -w -i "fastboot" /proc/cmdline
+       if is_fastboot_active
        then
                [ "$fscheck" = yes ] && log_warning_msg "Fast boot enabled, so skipping file system check."
                fscheck=no
diff --git a/debian/src/initscripts/etc/init.d/checkroot.sh b/debian/src/initscripts/etc/init.d/checkroot.sh
index 61afa70..3d4a349 100755
--- a/debian/src/initscripts/etc/init.d/checkroot.sh
+++ b/debian/src/initscripts/etc/init.d/checkroot.sh
@@ -152,7 +152,7 @@ Will restart in 5 seconds."
        # See if we want to check the root file system.
        #
        FSCKCODE=0
-       if [ -f /fastboot ] || grep -s -w -i "fastboot" /proc/cmdline
+       if is_fastboot_active
        then
                [ "$rootcheck" = yes ] && log_warning_msg "Fast boot enabled, so skipping root file system check."
                rootcheck=no
diff --git a/debian/src/initscripts/lib/init/mount-functions.sh b/debian/src/initscripts/lib/init/mount-functions.sh
index 8bb3031..ea5fde3 100644
--- a/debian/src/initscripts/lib/init/mount-functions.sh
+++ b/debian/src/initscripts/lib/init/mount-functions.sh
@@ -660,3 +660,17 @@ mount_tmp ()
                fi
        fi
 }
+
+is_fastboot_active() {
+       if [ -f /fastboot ] ; then
+           return true
+       fi
+       for cmd in $(cat /proc/cmdline) ; do
+           case "$cmd" in
+               fastboot)
+                   return true
+                   ;;
+           esac
+       done
+       return false
+}

-- 
Happy hacking
Petter Reinholdtsen



More information about the Pkg-sysvinit-devel mailing list