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

clemens fischer ino-news at spotteswoode.dnsalias.org
Tue Oct 25 08:12:42 EDT 2011

Tom Gundersen wrote:

> From time to time we get bug reports that are really difficult to
> debug, and that eventually turn out to be due to a separate /usr. Once
> we figure out the cause, we usually end up having to say, sorry, there
> is nothing we can do about that, but in the meantime we have wasted a
> lot of time. Therefore, we really want to get the message out there
> that at the moment things simply don't work as they should with a
> separate /usr. Then people will at least know that this is a likely
> cause of any weird problems they experience.
> There are two ways to solve this: either merge your / and your /usr
> partitions, or make your initramfs mount /usr so init won't even know
> that /usr is separate.
> We are currently working on adding support for the second approach,
> but we are not there yet (I have some patches against mkinitcpio to
> add this, but they rely on a patch by Thomas against busybox that has
> not yet landed upstream).

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?

A hook to mount the users /usr would presumably go right before

  "if [ -x /lib/udev/udevd ]; then"

in "/lib/initcpio/init"?

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

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!


More information about the arch-general mailing list