Your message dated Wed, 5 Feb 2014 10:16:55 +0100 with message-id <[email protected]> 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 [email protected] immediately.) -- 734901: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734901 Debian Bug Tracking System Contact [email protected] 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 <[email protected]> ----- Date: Tue, 04 Feb 2014 12:18:45 +0000 From: Petter Reinholdtsen <[email protected]> To: [email protected] 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 <[email protected]> Changed-By: Petter Reinholdtsen <[email protected]> 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 [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected] ----- End forwarded message -----
--- End Message ---
_______________________________________________ Pkg-sysvinit-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

