On Thu, Sep 8, 2011 at 4:41 AM, Michał Górny <mgo...@gentoo.org> wrote:
> > I'd rather say we should do the work on real issues rather than > imaginate 'separate /usr' problem. Honestly, most of 'advantages' of > separate /usr are just hacks avoiding other problems. > > I guess the irony in my case was that having a separate /usr allowed me to use raid5 without having an initramfs. :) It may have changed, but at least in the past you couldn't have root on a raid5 without an initramfs - you definitely couldn't have it on LVM. So, if you wanted to run LVM on raid5, you had to have a separate root that was raid1 with the older metadata that on-disk looks like a non-raid partition superficially. So, unless you want to waste half your diskspace you need to keep root really small, since raid1 is a lot less space-efficient than raid5. If you want a small root you can't put /usr on it. In any case, I think we need to pick our battles. If every other distro goes one way, then we need to consider whether being different is really adding value, or if it is simply being different. Most distros used an initramfs because they wanted to have one-size-fits-all kernels. Gentoo doesn't do it that way, and hasn't needed initramfs as much as a result. However, in the linux world initramfs has evolved from simply being a way to modprobe the drivers needed to mount root to an extra bootloader that allows for more complex partitioning schemes (btrfs, lvm, raid, etc), disk encryption, and much smarter detection logic (mounting by UUID and not by a device name that is not guaranteed to be stable). I think the proposed direction is sensible. If you have a monolithic kernel and a separate /usr on an otherwise simple setup, then you'll probably just need to emerge an extra package and cat some static file onto the end of your kernel image, or reference it in your kernel config. If you have a complex system then you just run dracut and get automagic bootup logic. If you have /usr on root then you don't need to do anything. The alternative is to spend huge amounts of time maintaining system packages just so that we can be different. Rich