Gentoo Archives: gentoo-user

From: nunojsilva@ist.utl.pt (Nuno J. Silva)
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: Anyone switched to eudev yet?
Date: Mon, 24 Dec 2012 15:05:23
Message-Id: 878v8n5w1q.fsf@ist.utl.pt
In Reply to: Re: [gentoo-user] Re: Anyone switched to eudev yet? by Dale
1 On 2012-12-24, Dale wrote:
2
3 > Nuno J. Silva wrote:
4 >> On 2012-12-24, Dale wrote:
5 >>
6 >>> Alan McKinnon wrote:
7 >>>> On Sun, 23 Dec 2012 19:03:25 +0200
8 >>>> nunojsilva@×××××××.pt (Nuno J. Silva) wrote:
9 >>>>
10 >>>>> On 2012-12-23, Alan McKinnon wrote:
11 >>>>>
12 >>>>>> On Sun, 23 Dec 2012 12:22:24 +0200
13 >>>>>> nunojsilva@×××××××.pt (Nuno J. Silva) wrote:
14 >> [...]
15 >>>>>>> What about just mounting /usr as soon as the system boots?
16 >>>>>> Please read the thread next time. The topic under discussion is
17 >>>>>> solutions to the problem of not being able to do exactly that.
18 >>>>> Then I suppose you can surely explain in a nutshell why can't init
19 >>>>> scripts simply do that?
20 >>>>>
21 >>>> It is trivially easy to create a circular loop whereby code required to
22 >>>> mount /usr now resides on /usr.
23 >>>>
24 >>>> Which is the entire thrust of this whole thread.
25 >>>>
26 >>> When I reboot, I get a lot of errors about /var being empty, since it is
27 >>> not mounted yet. It appears it wants /var as well as /usr early on in
28 >>> the boot process. It boots regardless of the errors tho.
29 >>>
30 >>> For the record Nuno, I have / and /boot on regular partitions. I have
31 >>> everything else, /home, /usr, /var and /usr/portage on LVM partitions.
32 >>> Until recently, I NEVER needed a init thingy and had zero errors while
33 >>> booting. Once this 'needing /usr on /' started a few months ago, I was
34 >>> told I would need one to boot. The claim being it was broken all the
35 >>> time but odd that it worked for the last 9 years with no problem, might
36 >>> add, I only been using Linux for the last 9 years but it also would have
37 >>> worked before that.
38 >>>
39 >> In your case, does it actually fail without an initrd now? It's just
40 >> that I see lots of people saying "it doesn't work" or "it will silently
41 >> fail", that's why I asked the question, I was looking for actual
42 >> examples of how can this go wrong (other than just because the init
43 >> scripts don't try to mount /usr before starting udev).
44 >>
45 >> Also, how does an initrd help solving the chicken-and-the-egg problem
46 >> for a missing /usr?
47 >>
48 >> I suppose the LVM drivers create additional device files that are only
49 >> created once udevd is up and running in order to process these events?
50 >> (With the case of a regular partition being no problem just because
51 >> linux apparently offers hardcoded files for some partitions in the first
52 >> ATA controllers.)
53 >>
54 >
55 > Well, so far I have stuck with the udev that works without a init
56 > thingy. I do have a init thingy for when the udev that requires it is
57 > marked stable. The devs are keeping the udev that requires /usr on /
58 > masked and/or keyworded until everyone is ready. That was until eudev
59 > was announced. Now they are also waiting on eudev to get stable so
60 > people can switch to it. I plan to switch too.
61 >
62 > The problem is this from my understanding. For decades, any commands or
63 > config files needed to boot Linux had to be in /bin, /sbin, /etc, and/or
64 > /lib. Those directories were what was needed to boot and anything
65 > needed to boot a system should be installed into one or more of those
66 > directories. Then someone came up with the idea of putting things into
67 > /usr instead. When they did that, it broke things. To me, this change
68 > makes as much sense as putting the mount command is /usr/bin but that is
69 > where some want Linux to go. I have read where some want to basically
70 > move about everything to /usr but not sure how much traction that is
71 > getting.
72
73 From my understanding, the problem with udev was that the rules used to
74 process events may require stuff from /usr. Which is OK, as I think the
75 rules may even end up executing random executables. And the sole problem
76 with this is that udev will not wait, it will simply fail in a silent
77 way when applying rules that require stuff from /usr.
78
79 Now, also, from my understanding, this was already the case for some
80 time (maybe even years?). And that's why I've asked for more details.
81
82 So, if the udev you use is OK with no initrd, what is in the new udev
83 that actually requires the initrd?
84
85 Meanwhile, I found https://bugs.gentoo.org/show_bug.cgi?id=446372, which
86 would explain why, all of a sudden, there is a bigger problem. Now, I
87 wonder how is this solved with an initrd, by copying udevd there? If so,
88 why don't we simply install udevd under (or copy its stuff to) / instead
89 of using /usr as $PREFIX?
90
91 > Basically, something that has worked for decades is declared to be
92 > broken all that time and if it wasn't broken, we are going to break it.
93
94 ... yeah... the thing here is that I'm just trying to separate the
95 upstream comments on "separate /usr is broken" from the actual thing
96 that breaks the boot process. So far, even the stuff from freedesktop
97 I've read stating that "separate /usr is broken" do not seem to mention
98 that udevd is moving to /usr.
99
100 > From my understanding, if I upgrade my system to the later version of
101 > udev and bypass the init system, my system will not boot. I have not
102 > tested the theory but that is what people have been saying. Not only is
103 > my /usr separate but it is on LVM partitons too.
104
105 Your problem would be LVM (if that's an issue at all, as I said I don't
106 know LVM), you'd not need udevd to mount /usr if it were a regular
107 partition.
108
109 --
110 Nuno Silva (aka njsg)
111 http://njsg.sdf-eu.org/

Replies

Subject Author
Re: [gentoo-user] Re: Anyone switched to eudev yet? Michael Mol <mikemol@×××××.com>
Re: [gentoo-user] Re: Anyone switched to eudev yet? Dale <rdalek1967@×××××.com>
Re: [gentoo-user] Re: Anyone switched to eudev yet? Bruce Hill <daddy@×××××××××××××××××××××.com>