Gentoo Archives: gentoo-dev

From: Samuli Suominen <ssuominen@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Warn users not to do separate /usr partition without proper initramfs in the handbook?
Date: Thu, 04 Aug 2011 07:59:09
Message-Id: 4E3A506D.3000307@gentoo.org
In Reply to: Re: [gentoo-dev] Warn users not to do separate /usr partition without proper initramfs in the handbook? by "Michał Górny"
1 On 08/04/2011 05:30 AM, Michał Górny wrote:
2 > On Sat, 30 Jul 2011 10:27:27 +0300
3 > Samuli Suominen <ssuominen@g.o> wrote:
4 >
5 >> Since running separate /usr without mounting it from initramfs on top
6 >> of / before init is and has been broken with udev for a long time
7 >> now[1][2][3]
8 >>
9 >> [1] http://bugs.gentoo.org/show_bug.cgi?id=364235
10 >> [2] http://fedoraproject.org/wiki/Features/UsrMove#Move_all_to_.2Fusr
11 >> [3]
12 >> http://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
13 >>
14 >> Can we warn users about not doing the separate /usr mistake in the
15 >> handbook?
16 >
17 > So, let's sum up a little.
18 >
19 > The most common argument against separate /usr requiring a proper
20 > initramfs is 'it works now, thus it's great'. That is practically
21 > understandable that people don't like to switch things upside down like
22 > that, especially when machines are not locally reachable.
23 >
24 > What's the exact differences between an initramfs and an early bootup
25 > setup in rootfs? As I see it:
26 > - initramfs is a small fs which is used for a short while on boot, to
27 > setup the system necessarily for the early bootup sequence,
28 > - while initial rootfs is a rather large piece of fs which is supposed
29 > to contain random stuff necessary for the early bootup to be able to
30 > proceed and mount the necessary remaining stuff before the actual
31 > bootup begins. And we're mostly stuck with it for the whole runtime.
32 >
33 > As I see it, I see no reason to keep forcing things like complete glibc,
34 > ncurses and the whole other lot of libraries for the early bootup if
35 > all needed is some kind of minimal 'mount' program (for instance).
36 >
37 > In the ol' days I tried building a NFS-shared system and the main
38 > problem was that some of early run tools relied heavily on the local
39 > system libs and files before they were replaced by NFS mounts. And I
40 > had to keep them in sync manually which is not the most comfortable
41 > thing.
42 >
43 > I don't see how trying to fit the best set of libs and files into
44 > rootfs can solve it. You either want for the system to be clean or
45 > weirdly split to support various possible configurations. And decide
46 > which are not 'weird enough' not to support.
47 >
48 > And really, most of the things about separate /usr are hacks which were
49 > introduced because the system was incapable of a proper rootfs.
50 > Read-only /usr should be read-only rootfs with writable mounts on top
51 > of it. NFS-mounted /usr should be the whole system part network-mounted
52 > (which would be easier if everything went into /usr rather than being
53 > split).
54 >
55
56 It seems what we need is an migration plan. Sending out a Portage News
57 item, and correcting documentation as first step.
58
59 Then giving people enough time to migrate. This would give us plenty of
60 time to work on the details for moving the files over from / to /usr.
61
62 It seems non-problematic for new installs, as stages could ship the
63 symlinks and files get installed to /usr through them, even before the
64 packages are changed.

Replies