Your message dated Wed, 5 Feb 2014 10:16:55 +0100
with message-id <20140205091655.gl13...@ulrik.uio.no>
and subject line (fwd) Accepted sysvinit 2.88dsf-47 (source amd64 all)
has caused the Debian Bug report #734901,
regarding initscripts: More Proper Detection of "fastboot" Kernel Parameter 
necessary
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
734901: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734901
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: initscripts
Version: 2.88dsf-45
Severity: normal

Dear maintainers,

during boot, Debian forces checking of hard disks/partitions, what is IMHO an
important thing to do. Since fsck during boot is not performed due to the
"i915.fastboot=1" kernel parameter, it seems adequate to set a higher
importance
to the issue, feel free to change that, but not running fsck might cause
serious
data loss.

For reference, my fstab entry for / is:
UUID=c501653f-ad06-43b5-90e1-8e8ff8e6f903 / ext4 user_xattr 0 1

but

$ LC_ALL=C LANG=C grep -i -w -s "fastboot" /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-3.10.26-dq67sw+ [...] i915.fastboot=1 [...]

returns "0" and tells checkfs.sh and checkroot.sh to skip the fs checks,
claiming "Fast boot enabled, so skipping file system check.":

$ grep -m1 "fastboot" /etc/init.d/checkfs.sh /etc/init.d/checkroot.sh
/etc/init.d/checkfs.sh: if [ -f /fastboot ] || grep -s -w -i "fastboot"
/proc/cmdline
/etc/init.d/checkroot.sh: if [ -f /fastboot ] || grep -s -w -i "fastboot"
/proc/cmdline

However, obviously  "i915.fastboot=1" != "fastboot".
Regarding this excerpt from man grep:
      -w, --word-regexp
              Select  only  those  lines  containing  matches  that form whole
              words.  The test is that the matching substring must  either  be
              at  the  beginning  of  the  line,  or  preceded  by  a non-word
              constituent character.  Similarly, it must be either at the  end
              of  the  line  or  followed by a non-word constituent character.
              Word-constituent  characters  are  letters,  digits,   and   the
              underscore.
it seems to me that grep treats the [.=] characters as word constituent
characters. Grep may be broken in some way (?), it does not work.

LC_ALL=C LANG=C grep -i -s '\<fastboot\>' /proc/cmdline does not work either,
same behaviour; some strange unicode error (grep 2.15-2 and 2.12-2 affected),
or are [.=] characters part of the "letters" set? FYI, grep on an ubuntu 13.10
behaves the same regaring these characters.

As a workaround I have changed the line containing the grep command:

 -      if [ -f /fastboot ] || grep -s -w -i "fastboot" /proc/cmdline
 +      if [ -f /fastboot ] || grep -s -i " fastboot" /proc/cmdline

which does the trick in this case. IMHO it should be save to assume the
preceeding space charakter for "fastboot" as a kernel parameter.
Maybe I did miss something, but I hope this could be helpful.


Best,
        Sebastian



-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (501, 'unstable'), (501, 'testing'), (501, 'stable'), (500, 
'proposed-updates'), (500, 'experimental'), (200, 'testing'), (200, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.10.26-dq67sw+ (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages initscripts depends on:
ii  coreutils       8.21-1
ii  debianutils     4.4
ii  libc6           2.17-97
ii  lsb-base        4.1+Debian12
ii  mount           2.20.1-5.5
ii  sysv-rc         2.88dsf-45
ii  sysvinit-utils  2.88dsf-45

Versions of packages initscripts recommends:
ii  e2fsprogs  1.42.9-2
ii  psmisc     22.20-1

initscripts suggests no packages.

-- Configuration Files:
/etc/default/rcS changed:

/etc/default/tmpfs changed:
RAMTMP=yes

/etc/init.d/checkfs.sh changed:
PATH=/sbin:/bin:/usr/bin
FSCK_LOGFILE=/var/log/fsck/checkfs
[ "$FSCKFIX" ] || FSCKFIX=no
.. /lib/init/vars.sh
.. /lib/lsb/init-functions
.. /lib/init/swap-functions.sh
do_start () {
        # Trap SIGINT so that we can handle user interupt of fsck.
        trap "" INT
        # See if we're on AC Power.  If not, we're not gonna run our
        # check.  If on_ac_power (in /usr/) is unavailable, behave as
        # before and check all file systems needing it.
        BAT=""
        fscheck="yes"
        if [ -f /fastboot ] || grep -s -i " fastboot" /proc/cmdline
        then
                [ "$fscheck" = yes ] && log_warning_msg "Fast boot enabled, so 
skipping file system check."
                fscheck=no
        fi
        #
        # Check the rest of the file systems.
        #
        if [ "$fscheck" = yes ] && [ ! "$BAT" ] && [ "$FSCKTYPES" != "none" ]
        then
                # Execute swapon command again, in case there are lvm
                # or md swap partitions.  fsck can suck RAM.
                swaponagain 'lvm and md'
                if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
                then
                        force="-f"
                else
                        force=""
                fi
                if [ "$FSCKFIX" = yes ]
                then
                        fix="-y"
                else
                        fix="-a"
                fi
                spinner="-C"
                case "$TERM" in
                  dumb|network|unknown|"")
                        spinner=""
                        ;;
                esac
                [ "$(uname -m)" = s390x ] && spinner=""  # This should go away
                FSCKTYPES_OPT=""
                [ "$FSCKTYPES" ] && FSCKTYPES_OPT="-t $FSCKTYPES"
                handle_failed_fsck() {
                        log_failure_msg "File system check failed. 
A log is being saved in ${FSCK_LOGFILE} if that location is writable. 
Please repair the file system manually."
                        log_warning_msg "A maintenance shell will now be 
started. 
CONTROL-D will terminate this shell and resume system boot."
                        # Start a single user shell on the console
                        if ! sulogin $CONSOLE
                        then
                                log_failure_msg "Attempt to start maintenance 
shell failed. 
Continuing with system boot in 5 seconds."
                                sleep 5
                        fi
                }
                if [ "$VERBOSE" = no ]
                then
                        log_action_begin_msg "Checking file systems"
                        logsave -s $FSCK_LOGFILE fsck $spinner -R -A $fix 
$force $FSCKTYPES_OPT
                        FSCKCODE=$?
                        if [ "$FSCKCODE" -eq 32 ]
                        then
                                log_action_end_msg 1 "code $FSCKCODE"
                                log_warning_msg "File system check was 
interrupted by user"
                        elif [ "$FSCKCODE" -gt 1 ]
                        then
                                log_action_end_msg 1 "code $FSCKCODE"
                                handle_failed_fsck
                        else
                                log_action_end_msg 0
                        fi
                else
                        if [ "$FSCKTYPES" ]
                        then
                                log_action_msg "Will now check all file systems 
of types $FSCKTYPES"
                        else
                                log_action_msg "Will now check all file systems"
                        fi
                        logsave -s $FSCK_LOGFILE fsck $spinner -V -R -A $fix 
$force $FSCKTYPES_OPT
                        FSCKCODE=$?
                        if [ "$FSCKCODE" -eq 32 ]
                        then
                                log_warning_msg "File system check was 
interrupted by user"
                        elif [ "$FSCKCODE" -gt 1 ]
                        then
                                handle_failed_fsck
                        else
                                log_success_msg "Done checking file systems. 
A log is being saved in ${FSCK_LOGFILE} if that location is writable."
                        fi
                fi
        fi
        rm -f /fastboot /forcefsck 2>/dev/null
}
case "$1" in
  start|"")
        do_start
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        # No-op
        ;;
  *)
        echo "Usage: checkfs.sh [start|stop]" >&2
        exit 3
        ;;
esac
:

/etc/init.d/checkroot.sh changed:
PATH=/sbin:/bin:/usr/bin
FSCK_LOGFILE=/var/log/fsck/checkroot
[ "$FSCKFIX" ] || FSCKFIX=no
[ "$SULOGIN" ] || SULOGIN=no
.. /lib/init/vars.sh
.. /lib/lsb/init-functions
.. /lib/init/mount-functions.sh
do_start () {
        # Trap SIGINT so that we can handle user interrupt of fsck.
        trap "" INT
        #
        # 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 sysv does.
        #
        [ "$SULOGIN" = yes ] && sulogin -t 30 $CONSOLE
        KERNEL="$(uname -s)"
        MACHINE="$(uname -m)"
        read_fstab
        #
        # Activate the swap device(s) in /etc/fstab. This needs to be done
        # before fsck, since fsck can be quite memory-hungry.
        #
        ENABLE_SWAP=no
        case "$KERNEL" in
          Linux)
                if [ "$NOSWAP" = yes ]
                then
                        [ "$VERBOSE" = no ] || log_warning_msg "Not activating 
swap as requested via bootoption noswap."
                        ENABLE_SWAP=no
                else
                        if [ "$swap_on_lv" = yes ]
                        then
                                [ "$VERBOSE" = no ] || log_warning_msg "Not 
activating swap on logical volume."
                        elif [ "$swap_on_file" = yes ]
                        then
                                [ "$VERBOSE" = no ] || log_warning_msg "Not 
activating swap on swapfile."
                        else
                                ENABLE_SWAP=yes
                        fi
                fi
                ;;
          *)
                ENABLE_SWAP=yes
                ;;
        esac
        if [ "$ENABLE_SWAP" = yes ]
        then
                if [ "$VERBOSE" = no ]
                then
                        log_action_begin_msg "Activating swap"
                        swapon -a -e >/dev/null 2>&1
                        log_action_end_msg $?
                else
                        log_daemon_msg "Activating swap"
                        swapon -a -v
                        log_end_msg $?
                fi
        fi
        #
        # Does the root device in /etc/fstab match with the actual device ?
        # If not we try to use the /dev/root alias device, and if that
        # fails we create a temporary node in /run.
        #
        if [ "$rootcheck" = yes ]
        then
                ddev="$(mountpoint -qx $rootdev)"
                rdev="$(mountpoint -d /)"
                if [ "$ddev" != "$rdev" ] && [ "$ddev" != "4:0" ]
                then
                        if [ "$(mountpoint -qx /dev/root)" = "4:0" ]
                        then
                                rootdev=/dev/root
                        else
                                if \
                                        rm -f /run/rootdev \
                                        && mknod -m 600 /run/rootdev b 
${rdev%:*} ${rdev#*:} \
                                        && [ -e /run/rootdev ]
                                then
                                        rootdev=/run/rootdev
                                else
                                        rootfatal=yes
                                fi
                        fi
                fi
        fi
        #
        # Bother, said Pooh.
        #
        if [ "$rootfatal" = yes ]
        then
                log_failure_msg "The device node $rootdev for the root 
filesystem is missing or incorrect 
or there is no entry for the root filesystem listed in /etc/fstab. 
The system is also unable to create a temporary node in /run. 
This means you have to fix the problem manually."
                log_warning_msg "A maintenance shell will now be started. 
CONTROL-D will terminate this shell and restart the system."
                # Start a single user shell on the console
                if ! sulogin $CONSOLE
                then
                        log_failure_msg "Attempt to start maintenance shell 
failed. 
Will restart in 5 seconds."
                        sleep 5
                fi
                [ "$VERBOSE" = no ] || log_action_msg "Will now restart"
                reboot -f
        fi
        # See if we're on AC Power.  If not, we're not gonna run our
        # check.  If on_ac_power (in /usr/) is unavailable, behave as
        # before and check all file systems needing it.
        #
        # See if we want to check the root file system.
        #
        FSCKCODE=0
        if [ -f /fastboot ] || grep -s -i " fastboot" /proc/cmdline
        then
                [ "$rootcheck" = yes ] && log_warning_msg "Fast boot enabled, 
so skipping root file system check."
                rootcheck=no
        fi
        if which findmnt >/dev/null 2>&1
        then
                if [ "$(findmnt -f -n -o FSTYPE /)" = "btrfs" ]
                then
                        [ "$rootcheck" = yes ] && log_warning_msg "btrfs root 
detected, so skipping root file system check."
                        rootcheck=no
                fi
        fi
        if [ "$rootcheck" = yes ]
        then
                #
                # Ensure that root is quiescent and read-only before fsck'ing.
                #
                # mount -n -o remount,ro / would be the correct syntax but
                # mount can get confused when there is a "bind" mount defined
                # in fstab that bind-mounts "/" somewhere else.
                #
                # So we use mount -n -o remount,ro $rootdev / but that can
                # fail on older kernels on sparc64/alpha architectures due
                # to a bug in sys_mount().
                #
                # As a compromise we try both.
                #
                if \
                        ! mount    -n -o remount,ro              $rootdev /     
         \
                        && ! mount -n -o remount,ro -t dummytype $rootdev /  
2>/dev/null \
                        && ! mount -n -o remount,ro                       /  
2>/dev/null
                then
                        log_failure_msg "Cannot check root file system because 
it is not mounted read-only."
                        rootcheck=no
                fi
        fi
        #
        # The actual checking is done here.
        #
        if [ "$rootcheck" = yes ]
        then
                if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
                then
                        force="-f"
                else
                        force=""
                fi
                if [ "$FSCKFIX" = yes ]
                then
                        fix="-y"
                else
                        fix="-a"
                fi
                spinner="-C"
                case "$TERM" in
                  dumb|network|unknown|"")
                        spinner="" ;;
                esac
                # This Linux/s390x special case should go away.
                if [ "${KERNEL}:${MACHINE}" = Linux:s390x ]
                then
                        spinner=""
                fi
                
                if [ "$VERBOSE" = no ]
                then
                        log_action_begin_msg "Checking root file system"
                        logsave -s $FSCK_LOGFILE fsck $spinner $force $fix -t 
$roottype $rootdev
                        FSCKCODE=$?
                        if [ "$FSCKCODE" = 0 ]
                        then
                                log_action_end_msg 0
                        else
                                log_action_end_msg 1 "code $FSCKCODE"
                        fi
                else
                        log_daemon_msg "Will now check root file system"
                        logsave -s $FSCK_LOGFILE fsck $spinner $force $fix -V 
-t $roottype $rootdev
                        FSCKCODE=$?
                        log_end_msg $FSCKCODE
                fi
        fi
        #
        # If there was a failure, drop into single-user mode.
        #
        # NOTE: "failure" is defined as exiting with a return code of
        # 4 or larger. A return code of 1 indicates that file system
        # errors were corrected but that the boot may proceed. A return
        # code of 2 or 3 indicates that the system should immediately reboot.
        #
        if [ "$FSCKCODE" -eq 32 ]
        then
                log_warning_msg "File system check was interrupted by user"
        elif [ "$FSCKCODE" -gt 3 ]
        then
                # Surprise! Re-directing from a HERE document (as in "cat << 
EOF")
                # does not work because the root is currently read-only.
                log_failure_msg "An automatic file system check (fsck) of the 
root filesystem failed. 
A manual fsck must be performed, then the system restarted. 
The fsck should be performed in maintenance mode with the 
root filesystem mounted in read-only mode."
                log_warning_msg "The root filesystem is currently mounted in 
read-only mode. 
A maintenance shell will now be started. 
After performing system maintenance, press CONTROL-D 
to terminate the maintenance shell and restart the system."
                # Start a single user shell on the console
                if ! sulogin $CONSOLE
                then
                        log_failure_msg "Attempt to start maintenance shell 
failed. 
Will restart in 5 seconds."
                        sleep 5
                fi
                [ "$VERBOSE" = no ] || log_action_msg "Will now restart"
                reboot -f
        elif [ "$FSCKCODE" -gt 1 ]
        then
                log_failure_msg "The file system check corrected errors on the 
root partition 
but requested that the system be restarted."
                log_warning_msg "The system will be restarted in 5 seconds."
                sleep 5
                [ "$VERBOSE" = no ] || log_action_msg "Will now restart"
                reboot -f
        fi
        #
        # Remount root to final mode (rw or ro).
        #
        # See the comments above at the previous "mount -o remount"
        # for an explanation why we try this twice.
        #
        if ! mount -n -o remount,$rootopts,$rootmode $fstabroot / 2>/dev/null
        then
                mount -n -o remount,$rootopts,$rootmode /
        fi
        # If possible, migrate /etc/mtab to be a symlink to
        # /proc/mounts.  Note that not all systems e.g. Hurd currently
        # support this.
        if [ "$rootmode" != "ro" ]; then
                mtab_migrate
        fi
        if selinux_enabled && [ -x /sbin/restorecon ] && [ -r /etc/mtab ]
        then
                restorecon /etc/mtab
        fi
        #
        # Remove /run/rootdev if we created it.
        #
        rm -f /run/rootdev
        # Update mount options for mounts created in early boot
        # S01mountkernfs.sh
        /etc/init.d/mountkernfs.sh reload
        # S03mountdevsubfs.sh
        /etc/init.d/mountdevsubfs.sh reload
}
do_status () {
        # If / is read-write or swap is enabled, this script have done
        # its job.
        rootrw=false
        swapon=false
        if [ -f /etc/mtab ] ; then
            if grep " / " /etc/mtab |grep -q rw ; then
                rootrw=true
            fi
        fi
        if [ -f /proc/swaps ] ; then
            if [ "$(cat /proc/swaps |grep -v ^Filename)" ] ; then
                swapon=true
            fi
        fi
        if [ true = "$rootrw" ] || [ true = "$swapon" ] ; then
                return 0
        else
                return 4
        fi
}
case "$1" in
  start|"")
        do_start
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        # No-op
        ;;
  status)
        do_status
        exit $?
        ;;
  *)
        echo "Usage: checkroot.sh [start|stop]" >&2
        exit 3
        ;;
esac
:


-- no debconf information

--- End Message ---
--- Begin Message ---
Version: 2.88dsf-47

Typo in the changelog caused the upload to not close this bug.
Closing it now.

----- Forwarded message from Petter Reinholdtsen <p...@debian.org> -----

Date: Tue, 04 Feb 2014 12:18:45 +0000
From: Petter Reinholdtsen <p...@debian.org>
To: debian-devel-chan...@lists.debian.org
Subject: Accepted sysvinit 2.88dsf-47 (source amd64 all)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 04 Feb 2014 12:55:45 +0100
Source: sysvinit
Binary: sysvinit sysvinit-core sysvinit-utils sysv-rc initscripts bootlogd
Architecture: source amd64 all
Version: 2.88dsf-47
Distribution: unstable
Urgency: low
Maintainer: Debian sysvinit maintainers 
<pkg-sysvinit-de...@lists.alioth.debian.org>
Changed-By: Petter Reinholdtsen <p...@debian.org>
Description: 
 bootlogd   - daemon to log boot messages
 initscripts - scripts for initializing and shutting down the system
 sysv-rc    - System-V-like runlevel change mechanism
 sysvinit   - System-V-like init utilities
 sysvinit-core - System-V-like init utilities
 sysvinit-utils - System-V-like utilities
Changes: 
 sysvinit (2.88dsf-47) unstable; urgency=low
 .
   [ Petter Reinholdtsen ]
   * Make fastboot detection more robust (Closing: #734901).
Checksums-Sha1: 
 7171e8a7badb6370c52d7aab81a7ff43c544b98f 1777 sysvinit_2.88dsf-47.dsc
 6f38579956602f2e65c27479d44bfca24dbbdd11 169180 
sysvinit_2.88dsf-47.debian.tar.xz
 e2bb93ab0c4c2e58dd0793952c9dea05e5475f1c 81050 sysvinit_2.88dsf-47_amd64.deb
 09d0b06541a76c9626bd0c2604783038e33515dc 128354 
sysvinit-core_2.88dsf-47_amd64.deb
 5e183ed8fecf91d526f8ff6005ca884677f7a6c0 93446 
sysvinit-utils_2.88dsf-47_amd64.deb
 5d88079f3e2edadee905fffef35b2ce654583efd 79794 sysv-rc_2.88dsf-47_all.deb
 fb7698ed039ae0520cdda18754851a39925f9005 84800 initscripts_2.88dsf-47_amd64.deb
 c83dd087700f474f3a177ffcfea81a93c6e573cf 56246 bootlogd_2.88dsf-47_amd64.deb
Checksums-Sha256: 
 2c0d1caed1b40fe204932b0e7797ca8c50937dd149be3d9b5e851e3e30863893 1777 
sysvinit_2.88dsf-47.dsc
 030baefc2d6d4838eb75af956037651d562574f9659d17f7df2e454e0b52e1a0 169180 
sysvinit_2.88dsf-47.debian.tar.xz
 719bbf5fcffb67ae6fdd9edebbf75a04150c7a2f09362789a1e82609598494c7 81050 
sysvinit_2.88dsf-47_amd64.deb
 51382fde2dfdff40ee11ecafb973809558b64c0e58225ca0aaa6fcbeb625a0d8 128354 
sysvinit-core_2.88dsf-47_amd64.deb
 4a93e79730e83a649efe4204cfdee0ea2525f81e75e837076ac90ba6ebf9373a 93446 
sysvinit-utils_2.88dsf-47_amd64.deb
 5c2f97a1fd79b09477597be29a82bd84ec172d692582a50edd0e28b11bb06d4f 79794 
sysv-rc_2.88dsf-47_all.deb
 5f15dfb257f5f9f58d44bafb077b593685de081a4863cb3e5debff55f615bb7b 84800 
initscripts_2.88dsf-47_amd64.deb
 ce6b156be9519ca6218ccbe6a6f0a5b17d0769a43965800f9ace7f2e101ddc0e 56246 
bootlogd_2.88dsf-47_amd64.deb
Files: 
 3a6e48416ce3bda568c2c5e8d222f6d0 1777 admin required sysvinit_2.88dsf-47.dsc
 51a9cb4f8b1eb96df0ef88428f6f8ca9 169180 admin required 
sysvinit_2.88dsf-47.debian.tar.xz
 811c79eebea1f613704c9c0bd2149d73 81050 admin required 
sysvinit_2.88dsf-47_amd64.deb
 b978d8465760841474280d998cabe4dc 128354 admin required 
sysvinit-core_2.88dsf-47_amd64.deb
 8f85ebf8004d984f09a66913b5ad5534 93446 admin required 
sysvinit-utils_2.88dsf-47_amd64.deb
 5426f415158040ebf439d6eeebfdfb95 79794 admin required 
sysv-rc_2.88dsf-47_all.deb
 bcf016594bf34289920cac13919bb952 84800 admin required 
initscripts_2.88dsf-47_amd64.deb
 9f909d85226356faa8a8049622583622 56246 admin optional 
bootlogd_2.88dsf-47_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iD8DBQFS8NZa20zMSyow1ykRAo2QAKDj4lApvSObs8Nxpz9WGZucAwd6qgCfRUsX
tXj2bNxC1P8f/L9nJfdl47c=
=9ev5
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to debian-devel-changes-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1waexh-0000r1...@franck.debian.org


----- End forwarded message -----

--- End Message ---

Reply via email to