Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.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 22:41:32
Message-Id: 524759FB.2090304@gmail.com
In Reply to: Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01 by Alon Bar-Lev
1 On 28/09/2013 22:58, Alon Bar-Lev wrote:
2 > As far as I read, the problem is with bluetooth keyboards? and some
3 > other devices and locales, which are minor for this decision of
4 > removing supportability. Especially for servers and for most of
5 > workstations. Most sane configuration can be supported with separate
6 > /.
7 >
8 > And of course there is the hidden systemd agenda, which is what I
9 > suspect had more impact.
10
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 Alan McKinnon
65 alan.mckinnon@×××××.com

Replies

Subject Author
Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01 Volker Armin Hemmann <volkerarmin@××××××××××.com>
Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01 Walter Dnes <waltdnes@××××××××.org>
Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01 Tanstaafl <tanstaafl@×××××××××××.org>