Gentoo Archives: gentoo-dev

From: Samuli Suominen <ssuominen@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Warn users not to do separate /usr partition without proper initramfs in the handbook?
Date: Thu, 04 Aug 2011 07:59:09
In Reply to: Re: [gentoo-dev] Warn users not to do separate /usr partition without proper initramfs in the handbook? by "Michał Górny"
On 08/04/2011 05:30 AM, Michał Górny wrote:
> On Sat, 30 Jul 2011 10:27:27 +0300 > Samuli Suominen <ssuominen@g.o> wrote: > >> Since running separate /usr without mounting it from initramfs on top >> of / before init is and has been broken with udev for a long time >> now[1][2][3] >> >> [1] >> [2] >> [3] >> >> >> Can we warn users about not doing the separate /usr mistake in the >> handbook? > > So, let's sum up a little. > > The most common argument against separate /usr requiring a proper > initramfs is 'it works now, thus it's great'. That is practically > understandable that people don't like to switch things upside down like > that, especially when machines are not locally reachable. > > What's the exact differences between an initramfs and an early bootup > setup in rootfs? As I see it: > - initramfs is a small fs which is used for a short while on boot, to > setup the system necessarily for the early bootup sequence, > - while initial rootfs is a rather large piece of fs which is supposed > to contain random stuff necessary for the early bootup to be able to > proceed and mount the necessary remaining stuff before the actual > bootup begins. And we're mostly stuck with it for the whole runtime. > > As I see it, I see no reason to keep forcing things like complete glibc, > ncurses and the whole other lot of libraries for the early bootup if > all needed is some kind of minimal 'mount' program (for instance). > > In the ol' days I tried building a NFS-shared system and the main > problem was that some of early run tools relied heavily on the local > system libs and files before they were replaced by NFS mounts. And I > had to keep them in sync manually which is not the most comfortable > thing. > > I don't see how trying to fit the best set of libs and files into > rootfs can solve it. You either want for the system to be clean or > weirdly split to support various possible configurations. And decide > which are not 'weird enough' not to support. > > And really, most of the things about separate /usr are hacks which were > introduced because the system was incapable of a proper rootfs. > Read-only /usr should be read-only rootfs with writable mounts on top > of it. NFS-mounted /usr should be the whole system part network-mounted > (which would be easier if everything went into /usr rather than being > split). >
It seems what we need is an migration plan. Sending out a Portage News item, and correcting documentation as first step. Then giving people enough time to migrate. This would give us plenty of time to work on the details for moving the files over from / to /usr. It seems non-problematic for new installs, as stages could ship the symlinks and files get installed to /usr through them, even before the packages are changed.