1 |
Council members, |
2 |
|
3 |
As we all know, the way most linux distros support having /usr on a |
4 |
separate file system from / is via an initramfs. One of these can be |
5 |
built easily in gentoo with dracut, genkernel, or you can build one |
6 |
manually [1]. |
7 |
|
8 |
In april 2012, the council voted that "separate /usr is a supported |
9 |
configuration". According to a number of people at the time and since |
10 |
then, the intent was to mandate that maintainers must support separate /usr |
11 |
configurations without an initramfs. |
12 |
|
13 |
This is the reason for the "sep-usr" use flag in busybox. This use flag |
14 |
is a Gentoo-specific option that drops the busybox static binary in / with a |
15 |
different name (ginit). Then you add init=/ginit on your kernel command |
16 |
line with your boot loader configuration to run this binary which just |
17 |
mounts / and /usr and starts the real init. |
18 |
|
19 |
The council never really took a position on how separate /usr is |
20 |
supported, so there are people who use separate /usr with neither of |
21 |
these options and still expect this configuration to work. |
22 |
|
23 |
There are significant advantages if we do not require maintainers to |
24 |
support the use of separate /usr configurations without an early boot |
25 |
mechanism like an initramfs or the sep-usr use flag on busybox. |
26 |
|
27 |
First, we will not have to worry any more about making sure all of the |
28 |
libraries needed by binaries in /{bin,sbin} are in /lib*. Also, we will |
29 |
not have to be concerned about programs on / trying to read data from |
30 |
/usr/share in early boot. |
31 |
|
32 |
Also, the support for separate /usr setups without any kind of early |
33 |
boot mechanism is going to become more complex over time due to the |
34 |
evolution of modern software. Our QA lead has some blog posts on the |
35 |
separate /usr issue and the boot process which discuss these issues in |
36 |
more detail [2] [3]. Another thing to consider is FHS 3 [4]. The division |
37 |
between / and /usr is becoming blurred because any combination of |
38 |
actual directories and symlinks are allowed in /. |
39 |
|
40 |
Because of this information, I propose that we vote not to |
41 |
require maintainers to support separate /usr configurations without an |
42 |
initramfs or some other early boot mechanism. |
43 |
|
44 |
William |
45 |
|
46 |
[1] http://www.gentoo.org/doc/en/initramfs-guide.xml |
47 |
[2] https://blog.flameeyes.eu/2012/12/my-take-on-the-separate-usr-issue |
48 |
[3] https://blog.flameeyes.eu/2013/01/the-boot-process |
49 |
[4] http://www.linuxbase.org/betaspecs/fhs/fhs.html |