Gentoo Archives: gentoo-user

From: Volker Armin Hemmann <volkerarmin@××××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01
Date: Sat, 28 Sep 2013 23:23:27
Message-Id: 524764E1.9030509@googlemail.com
In Reply to: Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01 by Alan McKinnon
1 Am 29.09.2013 00:36, schrieb Alan McKinnon:
2 > On 28/09/2013 22:58, Alon Bar-Lev wrote:
3 >> As far as I read, the problem is with bluetooth keyboards? and some
4 >> other devices and locales, which are minor for this decision of
5 >> removing supportability. Especially for servers and for most of
6 >> workstations. Most sane configuration can be supported with separate
7 >> /.
8 >>
9 >> And of course there is the hidden systemd agenda, which is what I
10 >> suspect had more impact.
11 > No, the problem is not bluetooth keyboards per se. That just happens to
12 > be a convenient example of the kind of problem anticipated. There is a
13 > tendency to use it as the only example, which reinforces the idea that
14 > BT keyboards are problem to be solved.
15 >
16 > The actual problem is better stated something like this:
17 >
18 > In the early stages of user-land setup (around the time when udev is
19 > getting it's act together), arbitrary code can run and that code can be
20 > in any arbitrary place, but there is no guarantee that that code is even
21 > accessible at the point when it is needed. The actual cause of this mess
22 > is the lack of standards on where to put stuff on Linux systems, and it
23 > forms a classic bootstrap problem.
24 >
25 > There has only ever been one way around that problem - define an exact
26 > entry point that is guaranteed to be in a specific state. For current
27 > userland this effectively means that everything that has traditionally
28 > been in bin, sbin and lib in / and /usr must be available as step 1.
29 > Technically, you could include /var/lib/ and maybe even /opt in there.
30 > but we can safely exclude those at this time as only a brain-dead moron
31 > would ever put init-critical code there.
32 >
33 > It's a fact of history that Linux packager and package devs have never
34 > managed to make up their minds where to put stuff. Just have a look at
35 > coreutils binaries - why are 60% of them in /usr? It's coreutils! And
36 > core isn't in the name because of a whim.
37 >
38 > So you have two choices: enforce a decent separation so that the problem
39 > doesn't happen, or enforce that all binaries are in one place where we
40 > can call it "the system". Every major OS out there does the latter, it's
41 > only Linux that tolerates this free for all wild wild west approach of
42 > stick anything anywhere and still expect it to work. Hint: it doesn't
43 > work. Duct-tape and bubblegum don't actually hold stuff together, no
44 > matter how much we try convince ourselves it does.
45 >
46 > This should actually have been done when MAKEDEV was phased out in
47 > favour of the now-defunct devfs, but it's never too late to fix design
48 > flaws that date back 30 years or more.
49 >
50 > So this brings us back to the essential technical problem that still
51 > needs to be solved on your machines:
52 >
53 > /usr needs to be available (and not only for BT keyboards) at the
54 > earliest possible opportunity - this is a technical constraint. To
55 > guarantee that, you need to either merge /usr with /, or use an
56 > initramfs to guarantee that /usr is available before anything else
57 > happens in userland.
58 >
59 > It *really* is that simple. If you have a better solution than my last
60 > two choices, then I am all ears.
61 >
62 >
63
64 the correct and simple solution would be to deprecate /usr and move
65 everything into / .

Replies