Gentoo Archives: gentoo-user

From: Walter Dnes <waltdnes@××××××××.org>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01
Date: Sun, 29 Sep 2013 06:06:51
Message-Id: 20130929060633.GB30380@waltdnes.org
In Reply to: Re: [gentoo-user] Re: separate / and /usr to require initramfs 2013-11-01 by Alan McKinnon
1 On Sun, Sep 29, 2013 at 12:36:43AM +0200, Alan McKinnon wrote
2
3 > The actual problem is better stated something like this:
4 >
5 > In the early stages of user-land setup (around the time when udev is
6 > getting it's act together), arbitrary code can run and that code can be
7 > in any arbitrary place, but there is no guarantee that that code is even
8 > accessible at the point when it is needed. The actual cause of this mess
9 > is the lack of standards on where to put stuff on Linux systems, and it
10 > forms a classic bootstrap problem.
11 >
12 > There has only ever been one way around that problem - define an exact
13 > entry point that is guaranteed to be in a specific state. For current
14 > userland this effectively means that everything that has traditionally
15 > been in bin, sbin and lib in / and /usr must be available as step 1.
16 > Technically, you could include /var/lib/ and maybe even /opt in there.
17 > but we can safely exclude those at this time as only a brain-dead moron
18 > would ever put init-critical code there.
19
20 Separate /usr worked for many years, even with udev. The question I
21 have is why is udev *NOW* monkeying around with a whole bunch of
22 additional stuff before mounting partitions? If you have an NFS-mounted
23 /usr, I can see needing to have network services running first. Ditto
24 for /usr being in an LVM or encrypted partition, you need LVM and/or
25 decryption running first. There is no excuse for anything else breaking
26 a separate /usr.
27
28 Then again, separate /usr isn't the first thing Kay Sievers has broken
29 since he took over udev, and I wouldn't be surprised if he one day "just
30 happens to break openrc"...
31
32 https://lkml.org/lkml/2012/10/2/303
33
34 > From Linus Torvalds <>
35 > Date Tue, 2 Oct 2012 09:33:03 -0700
36 > Subject Re: udev breakages - was: Re: Need of an ".async_probe()"
37 > type of callback at driver's core - Was: Re: [PATCH] [media] drxk:
38 > change it to use request_firmware_nowait()
39
40
41 > On Tue, Oct 2, 2012 at 6:03 AM, Mauro Carvalho Chehab
42 > <mchehab@××××××.com> wrote:
43 >
44 > > I basically tried a few different approaches, including deferred
45 > > probe(), as you suggested, and request_firmware_async(), as Kay
46 > > suggested.
47 >
48 > Stop this crazy. FIX UDEV ALREADY, DAMMIT.
49 >
50 > Who maintains udev these days? Is it Lennart/Kai, as part of systemd?
51 >
52 > Lennart/Kai, fix the udev regression already. Lennart was the one
53 > who brought up kernel ABI regressions at some conference, and if
54 > you now you have the *gall* to break udev in an incompatible manner
55 > that requires basically impossible kernel changes for the kernel to
56 > "fix" the udev interface, I don't know what to say.
57 >
58 > "Two-faced lying weasel" would be the most polite thing I could say.
59 > But it almost certainly will involve a lot of cursing.
60 >
61 > > However, for 3.7 or 3.8, I think that the better is to revert
62 > > changeset 177bc7dade38b5 and to stop with udev's insanity of
63 > > requiring asynchronous firmware load during device driver
64 > > initialization. If udev's developers are not willing to do that,
65 > > we'll likely need to add something at the drivers core to trick
66 > > udev for it to think that the modules got probed before the probe
67 > > actually happens.
68 >
69 > The fact is, udev made new - and insane - rules that are simply
70 > *invalid*. Modern udev is broken, and needs to be fixed.
71 >
72 > I don't know where the problem started in udev, but the report I
73 > saw was that udev175 was fine, and udev182 was broken, and would
74 > deadlock if module_init() did a request_firmware(). That kind of
75 > nested behavior is absolutely *required* to work, in order to not
76 > cause idiotic problems for the kernel for no good reason.
77 >
78 > What kind of insane udev maintainership do we have? And can we fix it?
79
80 --
81 Walter Dnes <waltdnes@××××××××.org>
82 I don't run "desktop environments"; I run useful applications

Replies