[Pkg-sysvinit-devel] Bug#757083: Bug#757083: initscripts: please treat /usr (if separate) the same as /

Simon McVittie smcv at debian.org
Fri Aug 8 12:30:05 UTC 2014

On 08/08/14 12:53, Henrique de Moraes Holschuh wrote:
> On Tue, 05 Aug 2014, Simon McVittie wrote:
>> Also, the initramfs-tools patchset includes closing #708000 by fsck'ing
>> / and /usr before mounting them. So I'm not sure why initscripts would
>> ever need to fsck the root or /usr filesystems any more?
> We do support booting without an initramfs under controlled conditions, so
> the need to fsck / outside of the initramfs is real.

Oh yes, sorry, I mis-spoke. initscripts certainly does still need to be
able to fsck the root filesystem for the benefit of people with a
monolithic kernel, if nothing else.

Please see
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652459#175> for my
attempt to enumerate all the possible combinations. I think there are
eight: if we denote the possibilities by

M/I: monolithic kernel vs. initramfs
R/U: /usr is on root vs. /usr is its own partition
F/-: initramfs fscks and mounts / and /usr (only if I) vs. it does not
W/-: initramfs mounts / and /usr rw (only if I & F) vs. it does not

then we have

MU-- (not reliable because e.g. awk, udev want /usr)
IR-- (removed by fixing #652459, but easy if we need MR-- anyway)
IU-- (not reliable because e.g. awk, udev want /usr)

> /usr as a separate partition *and* no initramfs to mount it early is
> [unfortunately] a really bad idea on jessie/sid, we don't have to add
> support for that outside of the initramfs (but warning the user of the
> problem is likely to be a good idea).

Indeed. With that in mind, I'm still not quite sure why initscripts
would need to fsck /usr any earlier than it does now.

Was that perhaps rleigh attempting to provide best-effort support for
the deprecated cases MU-- and IU-- (separate /usr with either a
monolithic kernel, or an initramfs where #652459 has not been fixed) by
mounting /usr as soon as possible in ordinary userland, so that only the
critical path from entry-to-userland to checkfs.sh needs to care about
whether /usr is separate, allowing the rest of rcS to assume that /usr
is mounted?

Vaguely relatedly, I see you're a sysvinit/initscripts maintainer. On
#697002 I suggested that maybe initscripts' checkfs.sh should use fsck
-M (ignore mounted filesystems), like systemd-fsck does, instead of fsck
-R (ignore root) as it currently does. That would make it unnecessary to
modify util-linux for the "provide /usr early" feature, which could be
done entirely via changes to initramfs-tools and initscripts. Any
opinion on that?


More information about the Pkg-sysvinit-devel mailing list