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! clemens