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