On Mon, Sep 12, 2011 at 1:39 PM, Michael Mol <mike...@gmail.com> wrote:
> On Mon, Sep 12, 2011 at 1:17 PM, Alan Mackenzie <a...@muc.de> wrote:
>> On Mon, Sep 12, 2011 at 05:33:34PM +0200, Michael Schreckenbauer wrote:
>>> On Monday, 12. September 2011 15:02:48 Alan Mackenzie wrote:
>>
>>> > Hope nobody minds me starting a new thread with an accurate name.
>>
>>> > Which version of udev is it that has this nauseating feature of needing
>>> > /usr loaded to boot?
>>
>>> > Somewhere in that version's source will be several (or lots of) "/usr".
>>> > Just how difficult is it going to be to replace "/usr/bin" with "/bin"
>>> > throughout the source?
>>
>>> you misunderstood something. udev is able to run arbitrary scripts. Some of
>>> those scripts are located in /usr/* or need something there. I doubt you 
>>> will
>>> find references to /usr in the udev-sources.
>>
>> Well, I'm a hacker.  udev is free source, therefore fair game.  I don't
>> intend to put up with this nonsense without a fight.  As far as I can
>> make out, this is just one guy, Kay Sievers, who's on a power trip.  Are
>> there any indications at all that he actually talked to anybody in the
>> wide world before making such a far reaching decision?
>
> udev has always been able to run arbitrary scripts. The trouble is
> that the arbitrary scripts other packages provide sometimes call for
> things under /usr.
>
> If I've read messages over the last couple days correctly, I think the
> recent change is that some stuff udev *directly* depends on, as part
> of the udev package itself, is being moved into /usr.
>
> My best guess is that this allows udev to force the issue; it gets
> blamed for other packages not loading correctly (when those other
> packages put things in places which may or may not be available yet),
> so the udev developer chose to force systems to have all of /usr
> available before udev is run.
>
> The first step in a clean solution, IMO, is to revert that change. The
> second step is to fix the 'silent failure' problem for packages which
> depend on /usr before /usr is available.

No fixable, in reality. The flexibility of udev is in part in that the
userspace can (and actually do) run arbitrary scripts and binaries
from udev rules. You can "fix" the ones that require binaries in /usr
*NOW*, but not forever, unless you forbid the use of arbitrary
binaries from udev rules.

And then you lose the flexibility.

The explanation from
http://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
seems more than reasonable to me: /lib and /bin and /sbin were the way
old-Unix solved the problem of needing some binaries before /usr was
mounted.

Linux has a much better, flexible and automatized (dracut) way of
doing this, by using an initramfs. With an initramfs you can have the
smallest / in the world, and mount everything else afterwards. The
initramfs memory is free'd after the pivot_root happens, so who cares
how big it is?

And yeah, that's not how classical Unix do things. Who cares? Linux
does it so much better.

Regards.
-- 
Canek Peláez Valdés
Posgrado en Ciencia e Ingeniería de la Computación
Universidad Nacional Autónoma de México

Reply via email to