[arch-general] /usr is not mounted. This is not supported.

clemens fischer ino-news at spotteswoode.dnsalias.org
Tue Oct 25 14:09:16 EDT 2011

Tom Gundersen wrote:

> On Tue, Oct 25, 2011 at 2:12 PM, clemens fischer ... wrote:

(Removed email.  No need to atract spammers!)

>> What patch would that be?  THE-FAVOURITE-SEARCH-ENGINE didn't pull
>> anything useful for "patch Thomas-Bächler busybox".  Can somebody point
>> us to the relevant code, please?
> Thomas is right, that is not strictly speaking needed (but see below).
>> A hook to mount the users /usr would presumably go right before
>>  "if [ -x /lib/udev/udevd ]; then"
>> in "/lib/initcpio/init"?
> This is what I had in mind:
> <https://github.com/teg/mkinitcpio/commit/76dacf8b9de9cc0409741840b1d8e449862fc846>.

But what is this?

    10  +In order for this to work, /usr needs to be in your /etc/fstab and it
    11  +should be marked for not being fsck'ed (the last option should be 0).

This is getting weird.  Who/what is going to fsck(8) /usr then?

> To make it work nicely, we should also add the dual logic to shutdown:
> <https://github.com/teg/mkinitcpio/commit/42610beb5a317d63dc76dabb72a9061a799b280b>,
> which will pivot back to the initramfs and unmount /usr cleanly. This
> is where we need some busybox work, and I guess this patch should be
> discussed a bit more, maybe it is not the best way to do it.

Pardon me, but I'm not sure I want to keep all of the initramfs around
after regular operation of the system commences.

>> Are the symlinks in "/dev/disk/by-label/" by then?  I guess not, since
>> udevd rules are responsible for setting them up, right?

I object to prohibit the use of LABEL/UUID to identify /usr (or any
other fs for that matter) if that's what all this boils down to.  I keep
a backup and a rescue system around, with some filesystems shared
between them.  Sometimes I shuffle them around, eg. for testing
alternatives like btrfs etc.  For consistently identifying them they get
labels, and I'm sure other people rely on labels as well.

>> So how do the boot-loaders do this?  My first thought was to have
>> a kernel command line parameter
>> "mnt_usr_from=/dev/disk/by-label/my-usr" or whatever and then use
>> busybox' ``mount "$mnt_usr_from" /usr''.
>> I do find it annoying to have /usr with all the bulky GUI crap,
>> audio-tools and whatnot in "/".  FreeBSD has a clean separation
>> between what's needed to bring up, build and run a basic system ( ->
>> /usr ) and user-toys, including all the GUI and multimedia stuff ( ->
>> /usr/local ).
>> I always regret linux cramming everything into /usr.  Some vital
>> programs needed at startup are in /[s]bin, some in /lib, but look at
>> the rules in /lib/udev/rules.d/: while vboxdrv and alsa-restore could
>> equally well run when /usr is finally up, the device-mapper rules
>> check for dmsetup residing in usr/sbin, although they are needed
>> early!
> It is currently a mess. I agree with the people advocating putting
> everything in /usr (and symlink /bin, /sbin and /lib for
> compatibility). That obviously requires being able to mount /usr from
> initramfs.

... which is more complicated than I thought.  We should agree on
a clean future-proof concept.


More information about the arch-general mailing list