Just a few clarifications below.

One thing this discussion is missing is any mention of BIOS / EFI.
Most of the discussion below seems most relevant to a legacy BIOS
installation.  Many specialized Gentoo install docs, like mdadm+lvm,
don't really make mention of EFI, or other more recent developments.
Now that all the docs are on the wiki I'd strongly encourage anybody
with an interest to improve them.  Many seasoned Gentoo users barely
reference the documentation these days and I think that is part of why
they've become a bit dated.

A few of the topics below are somewhat controversial, particularly on
this list.  I tried to stick to the facts and indicate where there is
a difference of opinion.  I'd prefer not to rehash all the various
debates...

On Sun, May 17, 2015 at 9:24 AM, Peter Humphrey <[email protected]> wrote:
> On Sunday 17 May 2015 12:48:58 Nuno Magalhães wrote:
>
>> (Later i want to get rid of systemd-udev and use eudev instead.)
>
> I use openrc, not systemd. It still works well and has less complication - and
> less typing!

Most people using openrc are also using systemd-udev (and there is a
good chance you do too).  The latter was previously named udev and
long predates what most people call systemd.  Eudev is a fork of udev,
which comes from after it came under the systemd umbrella, but before
the name change and a number of changes that were controversial.  I
believe they try to incorporate many of the patches from systemd-udev
but some default behaviors are different.

In any case, I just wanted to clarify that systemd-udev is not the
"systemd" you're probably thinking of.  In particular, it doesn't
replace openrc or sysvinit.  Systemd-udev largely is concerned with
populating /dev, and running initialization of hardware when it is
detected, based on a configurable set of rules.

>
>> I intend to use XFS for /. Incidentally, if i later decide to "fork
>> out" /usr (or some other subdirectory) into it's own LV, is it "just"
>> a mater of copying its contents and updating /etc/fstab? Or should i
>> just do it now and expand the LVs if later required (especially if i
>> want to use different filesystems)?
>
> I can't help you with XFS. I know that ext4 in an LV in a VG in a PV on RAID1
> works reliably, even though it does look complex when I write it like that.

As far as LVM and xfs themselves go, you can do what you propose.

However, Gentoo QA policy is that it is expected that /usr is mounted
early in boot.  Various tools can break if it is not.  Typically this
is the responsibility of an initramfs, however you can also use
scripts that run early during initialization from / which mount it.
If you just stick /usr in fstab and rely on openrc to mount it for you
normally, you may or may not have problems.

It has been a long time since I actually used such a system in this
manner with Gentoo, but the last I saw discussion on it most who used
this configuration found it usually worked fine, unless you were using
something like a bluetooth keyboard or other key system component that
required a lot of userspace tooling to make work.  However, as a
matter of policy you're on your own if you choose not to mount /usr
early during boot in some way.

The reason it is not supported is that with the rise of things like
bluetooth the list of dependencies possibly required during early boot
has grown to the point where we'd end up not even having a /usr before
long.  My sense is that for the most part most maintainers tend to
respect the traditional definition of / and /usr on Gentoo, and thus
you can often get away with doing things the traditional way.
However, the policy does allow us to end debates over things like udev
rules invoking some userspace tool in /usr and such.  Some packages
more strongly depend on /usr being installed in early boot, and there
have been suggestions (but nothing concrete) that Gentoo consider
supporting the /usr-move that other distros have embraced (and that
would basically get rid of /lib, /bin, and so on).

>
> Again, legacy grub here. But if you're using an initramfs, from what I've seen
> you don't need to specify metadata 0.90.

I used to use grub legacy and kernel RAID auto-assembly.  As a result
I was using metadata 0.90.

I found this configuration problematic on rare occasions.  There is a
reason that mdadm changed the metadata, and why most distros don't do
it this way.  (more below)

>
> Damn. I've just checked and something has renamed my /dev/md7 to
> /dev/md127. Again. It's just too bad. I shall have to stop it when I get a
> quiet moment and reassemble it into /dev/md7. Actually, I know what caused
> it but I didn't notice at the time.

And this was one of the configuration problems I ran into on rare
occasion.  Often booting from a rescue CD or such caused something
like this to happen.

One of the advantages of using an initramfs is that they can be a lot
smarter about finding your partitions.  You can identify them by UUID
or label, and not care as much if mdadm or the kernel renames your
device nodes.

I'd seriously take a look at dracut, though I don't know if it works
with eudev.  It certainly should support openrc, and I know that it
did back when I was running openrc.  It can also mount /usr for you,
and in fact it should automatically do so.  It also respects your
fstab - it uses its internal logic and the kernel boot line to
initially find filesystems, but then it reads your /etc/fstab and
remounts everything as you define it there just in case something has
changed since the last time you built the initramfs/etc.  You can
define your own modules for it which makes it reasonably easy to get
it to do anything at all during early boot, and it doesn't require
anything to be built static (it finds required shared objects anywhere
on the filesystem and includes them in the initramfs).  It can also
give you a rescue shell if something goes wrong, and depending on your
settings you can make that rescue shell reasonably well-featured
(using either dash or bash as you prefer inside, and I imagine you
could tell it to install the other on the side).  A while ago I needed
to run some btrfs tools that aren't in dracut by default and it was
trivial to tell dracut to include them, and I forced a shell on next
boot which gave me the latest tools and kernel without having to build
a rescue CD with them, and a bash shell to run them from.

It certainly isn't necessary to use an initramfs to use Gentoo, and I
used to be among the more minimalist crowd that avoided them.
However, once I took the time to examine dracut it went from being a
blob that looked unnecessary to a tool that is often useful.

-- 
Rich

Reply via email to