Gentoo Archives: gentoo-user

From: Dale <rdalek1967@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Anyone switched to eudev yet?
Date: Mon, 24 Dec 2012 15:47:21
Message-Id: 50D87829.5000607@gmail.com
In Reply to: [gentoo-user] Re: Anyone switched to eudev yet? by nunojsilva@ist.utl.pt (Nuno J. Silva)
1 Nuno J. Silva wrote:
2 > On 2012-12-24, Dale wrote:
3 >
4 >> Nuno J. Silva wrote:
5 >>> On 2012-12-24, Dale wrote:
6 >>>
7 >>>> Alan McKinnon wrote:
8 >>>>> On Sun, 23 Dec 2012 19:03:25 +0200
9 >>>>> nunojsilva@×××××××.pt (Nuno J. Silva) wrote:
10 >>>>>
11 >>>>>> On 2012-12-23, Alan McKinnon wrote:
12 >>>>>>
13 >>>>>>> On Sun, 23 Dec 2012 12:22:24 +0200
14 >>>>>>> nunojsilva@×××××××.pt (Nuno J. Silva) wrote:
15 >>> [...]
16 >>>>>>>> What about just mounting /usr as soon as the system boots?
17 >>>>>>> Please read the thread next time. The topic under discussion is
18 >>>>>>> solutions to the problem of not being able to do exactly that.
19 >>>>>> Then I suppose you can surely explain in a nutshell why can't init
20 >>>>>> scripts simply do that?
21 >>>>>>
22 >>>>> It is trivially easy to create a circular loop whereby code required to
23 >>>>> mount /usr now resides on /usr.
24 >>>>>
25 >>>>> Which is the entire thrust of this whole thread.
26 >>>>>
27 >>>> When I reboot, I get a lot of errors about /var being empty, since it is
28 >>>> not mounted yet. It appears it wants /var as well as /usr early on in
29 >>>> the boot process. It boots regardless of the errors tho.
30 >>>>
31 >>>> For the record Nuno, I have / and /boot on regular partitions. I have
32 >>>> everything else, /home, /usr, /var and /usr/portage on LVM partitions.
33 >>>> Until recently, I NEVER needed a init thingy and had zero errors while
34 >>>> booting. Once this 'needing /usr on /' started a few months ago, I was
35 >>>> told I would need one to boot. The claim being it was broken all the
36 >>>> time but odd that it worked for the last 9 years with no problem, might
37 >>>> add, I only been using Linux for the last 9 years but it also would have
38 >>>> worked before that.
39 >>>>
40 >>> In your case, does it actually fail without an initrd now? It's just
41 >>> that I see lots of people saying "it doesn't work" or "it will silently
42 >>> fail", that's why I asked the question, I was looking for actual
43 >>> examples of how can this go wrong (other than just because the init
44 >>> scripts don't try to mount /usr before starting udev).
45 >>>
46 >>> Also, how does an initrd help solving the chicken-and-the-egg problem
47 >>> for a missing /usr?
48 >>>
49 >>> I suppose the LVM drivers create additional device files that are only
50 >>> created once udevd is up and running in order to process these events?
51 >>> (With the case of a regular partition being no problem just because
52 >>> linux apparently offers hardcoded files for some partitions in the first
53 >>> ATA controllers.)
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 > >From my understanding, the problem with udev was that the rules used to
73 > process events may require stuff from /usr. Which is OK, as I think the
74 > rules may even end up executing random executables. And the sole problem
75 > with this is that udev will not wait, it will simply fail in a silent
76 > way when applying rules that require stuff from /usr.
77 >
78 > Now, also, from my understanding, this was already the case for some
79 > time (maybe even years?). And that's why I've asked for more details.
80
81 That's the claim but LOTS of people disagree on that. Keep in mind,
82 right now, as my system is, I can boot with /usr on a LVM partition and
83 NO init thingy. If it is broken, why does it work now? Why has it
84 worked from the last 9 years and worked years before that for literally
85 millions of other Linux users?
86
87 >
88 > So, if the udev you use is OK with no initrd, what is in the new udev
89 > that actually requires the initrd?
90
91 From my understanding there are files in /usr that are needed for udev
92 to work while booting. If udev doesn't have those files, it doesn't
93 work and the system doesn't boot as it should.
94
95 >
96 > Meanwhile, I found https://bugs.gentoo.org/show_bug.cgi?id=446372, which
97 > would explain why, all of a sudden, there is a bigger problem. Now, I
98 > wonder how is this solved with an initrd, by copying udevd there? If so,
99 > why don't we simply install udevd under (or copy its stuff to) / instead
100 > of using /usr as $PREFIX?
101 >
102 >> Basically, something that has worked for decades is declared to be
103 >> broken all that time and if it wasn't broken, we are going to break it.
104 > ... yeah... the thing here is that I'm just trying to separate the
105 > upstream comments on "separate /usr is broken" from the actual thing
106 > that breaks the boot process. So far, even the stuff from freedesktop
107 > I've read stating that "separate /usr is broken" do not seem to mention
108 > that udevd is moving to /usr.
109
110 You can't really separate the two. Upstream is causing this. You can't
111 remove upstream and then understand what is going on.
112
113 >
114 >> From my understanding, if I upgrade my system to the later version of
115 >> udev and bypass the init system, my system will not boot. I have not
116 >> tested the theory but that is what people have been saying. Not only is
117 >> my /usr separate but it is on LVM partitons too.
118 > Your problem would be LVM (if that's an issue at all, as I said I don't
119 > know LVM), you'd not need udevd to mount /usr if it were a regular
120 > partition.
121 >
122
123 The problem isn't LVM, it is files in /usr that have historically been
124 in / instead. As I said above, I have been using LVM for several years
125 with no init thingy and it booted just fine. Only when upstream started
126 moving things to /usr instead of / did this problem come along. Keep in
127 mind, when booting Linux, everything should be in /bin, /sbin, /etc or
128 /lib which should be on the / partition. All other partitions, /home,
129 /usr, /var and such can be mounted separately for either space
130 limitations or security reasons or even over a network.
131
132 Dale
133
134 :-) :-)
135
136 --
137 I am only responsible for what I said ... Not for what you understood or how you interpreted my words!