On Thu 12 Oct 2017 at 18:08:06 (-0400), Michael Stone wrote: > On Fri, Oct 13, 2017 at 10:17:39AM +1300, Ben Caradoc-Davies wrote: > >On 13/10/17 09:43, David Wright wrote: > >>On Thu 12 Oct 2017 at 16:22:27 (-0400), Gene Heskett wrote: > >>>There used to be a filename you could "touch" on the root of a disk that > >>>would force an e2fsck on the next reboot, do you recall it? > >>That's out of date. Nowadays you add the word forcefsck > >>to the linux line in grub.cfg by pressing > >><any key at boot> to get the Grub menu, > >><e> to edit an entry, > >>scroll and add the word, > >><return> to boot the ephemerally modified entry. > > > >Does this work with systemd? Only "fsck.mode=force" is documented. > > Yes, but grudgingly: > > https://sources.debian.net/src/systemd/234-2/src/fsck/fsck.c/ > > #ifdef HAVE_SYSV_COMPAT > else if (streq(key, "fastboot") && !value) { > log_warning("Please pass 'fsck.mode=skip' rather than > 'fastboot' on the kernel command line."); > arg_skip = true; > > } else if (streq(key, "forcefsck") && !value) { > log_warning("Please pass 'fsck.mode=force' rather than > 'forcefsck' on the kernel command line."); > arg_force = true; > } > #endif >
I'm trying to keep up with the changes, but I have no idea what the input to fsck.c is, and where variable key gets it from. OTOH if we look at initramfs-tools-core_0.130_all.deb in CONTENTS/usr/share/initramfs-tools/init¹ we find this code fragment: # Parse command line options for x in $(cat /proc/cmdline); do case $x in […] fastboot|fsck.mode=skip) fastboot=y ;; forcefsck|fsck.mode=force) forcefsck=y ;; and in CONTENTS/usr/share/initramfs-tools/scripts/functions¹ if [ "$forcefsck" = "y" ] then force="-f" else force="" fi […] log_begin_msg "Checking $NAME file system" logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -T -t $TYPE $DEV FSCKCODE=$? log_end_msg If forcefsck is an alias for fsck.mode=force, I can see no reason to eliminate it. It's a lot easier to remember when you suddenly get a chance to use it (on a server that runs months at a time, say). This is particularly true while Grub doesn't automatically add a menu entry for fsck, unlike for single and (in wheezy/jessie) sysvinit. ¹ which become init and scripts/functions in the initrd. Cheers, David.