[systemd-devel] [RFC] the chopping block
Lennart Poettering
lennart at poettering.net
Fri Feb 12 21:08:24 UTC 2016
On Fri, 12.02.16 10:04, Colin Guthrie (gmane at colin.guthr.ie) wrote:
> Lennart Poettering wrote on 11/02/16 17:49:
> > On Thu, 11.02.16 18:29, Matthias Urlichs (matthias at urlichs.de) wrote:
> >
> >> Hi,
> >>
> >> Lennart Poettering:
> >>> 5) Here's the controversial one I think: support for booting up
> >>> without /var.
> >>
> >> Meh. I have quite a few multi-boot systems with a common /var/log
> >> partition. Plus, unlike the other "spring cleaning" changes this would
> >> cause a boot failure after update.
> >
> > Again: this does not break systems with split off /var, as I tried to
> > make very clear in my original mail. All that's needed is that the
> > initrd mounts /var before handing off control to the main system.
> >
> > The initrd already does that for / and for /usr, hence /var is just
> > one more step.
>
> Hmmm, has all the split-usr code been fully removed from systemd now? A
> quick grep suggests not.
Well, we support installing the package with split bin directories,
but we don't really support booting without /usr around. I mean, udev
rules aren't restarted as soon as /usr and the binaries on it become
available, hence it simply cannot work correctly to have /usr not
available during early boot. If distros claim that, they are just
lying to themselves and their users... (note that many packages
install their own udev rules, such as sane, udisks and so on, and they
are generally located in /usr, hence they all, together with *all*
their deps – which include things such as glib and so on – would have
to be placed in /, too, but to my knowledge no distro does that).
The only things we official support:
a) / and /usr are on one file system, either with or without initrd
b) / and /usr are split, but then you have to mount it from the
initrd, and you need one
> While I don't personally have a problem with this removal, I do think
> that comparing it to /usr is bogus.
Well, it's the same thing, really. We'd just make the change to say
that /, /usr and /var either have to be all on the same fs, in which
case initrd and non-initrd boots are supported. Or people can split up
/, /usr and /var into as many pieces as they like, but in that case an
initrd has to be in place and mount things before the system
transitions to the host init system.
> While you may not *support* /usr being split out and mounted by /, it
> does still work and systemd *is* still sympathetic to that.
Not really.
> The situation with /var is much more brutal. You're suggesting that it
> would now be something that *has* to be done by the initrd and if you go
> down that route, you may as well ditch all the split-usr stuff too as if
> the initrd *has* to mount /var, it may as well do /usr too now even if
> there were some hold outs.
Well, not mounting /usr in the initrd is pretty much broken, except
that some exotic cases might still work superficially (i.e systems
where you install zero other packages, and no sane, no udisks, and
nothing like that), but not really. And it would be the exact same
with /var. Sure, we'd still boot up, and a lot of stuff will still
appear to work, execept that it's actually pretty fucked.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list