Gentoo Archives: gentoo-user

From: covici@××××××××××.com
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Tips for fresh install with GRUB2+RAID1+LVM2
Date: Sun, 17 May 2015 15:35:22
Message-Id: 6025.1431876911@ccs.covici.com
In Reply to: Re: [gentoo-user] Tips for fresh install with GRUB2+RAID1+LVM2 by Rich Freeman
1 Rich Freeman <rich0@g.o> wrote:
2
3 > Just a few clarifications below.
4 >
5 > One thing this discussion is missing is any mention of BIOS / EFI.
6 > Most of the discussion below seems most relevant to a legacy BIOS
7 > installation. Many specialized Gentoo install docs, like mdadm+lvm,
8 > don't really make mention of EFI, or other more recent developments.
9 > Now that all the docs are on the wiki I'd strongly encourage anybody
10 > with an interest to improve them. Many seasoned Gentoo users barely
11 > reference the documentation these days and I think that is part of why
12 > they've become a bit dated.
13 >
14 > A few of the topics below are somewhat controversial, particularly on
15 > this list. I tried to stick to the facts and indicate where there is
16 > a difference of opinion. I'd prefer not to rehash all the various
17 > debates...
18 >
19 > On Sun, May 17, 2015 at 9:24 AM, Peter Humphrey <peter@××××××××××××.uk> wrote:
20 > > On Sunday 17 May 2015 12:48:58 Nuno Magalhães wrote:
21 > >
22 > >> (Later i want to get rid of systemd-udev and use eudev instead.)
23 > >
24 > > I use openrc, not systemd. It still works well and has less complication - and
25 > > less typing!
26 >
27 > Most people using openrc are also using systemd-udev (and there is a
28 > good chance you do too). The latter was previously named udev and
29 > long predates what most people call systemd. Eudev is a fork of udev,
30 > which comes from after it came under the systemd umbrella, but before
31 > the name change and a number of changes that were controversial. I
32 > believe they try to incorporate many of the patches from systemd-udev
33 > but some default behaviors are different.
34 >
35 > In any case, I just wanted to clarify that systemd-udev is not the
36 > "systemd" you're probably thinking of. In particular, it doesn't
37 > replace openrc or sysvinit. Systemd-udev largely is concerned with
38 > populating /dev, and running initialization of hardware when it is
39 > detected, based on a configurable set of rules.
40 >
41 > >
42 > >> I intend to use XFS for /. Incidentally, if i later decide to "fork
43 > >> out" /usr (or some other subdirectory) into it's own LV, is it "just"
44 > >> a mater of copying its contents and updating /etc/fstab? Or should i
45 > >> just do it now and expand the LVs if later required (especially if i
46 > >> want to use different filesystems)?
47 > >
48 > > I can't help you with XFS. I know that ext4 in an LV in a VG in a PV on RAID1
49 > > works reliably, even though it does look complex when I write it like that.
50 >
51 > As far as LVM and xfs themselves go, you can do what you propose.
52 >
53 > However, Gentoo QA policy is that it is expected that /usr is mounted
54 > early in boot. Various tools can break if it is not. Typically this
55 > is the responsibility of an initramfs, however you can also use
56 > scripts that run early during initialization from / which mount it.
57 > If you just stick /usr in fstab and rely on openrc to mount it for you
58 > normally, you may or may not have problems.
59 >
60 > It has been a long time since I actually used such a system in this
61 > manner with Gentoo, but the last I saw discussion on it most who used
62 > this configuration found it usually worked fine, unless you were using
63 > something like a bluetooth keyboard or other key system component that
64 > required a lot of userspace tooling to make work. However, as a
65 > matter of policy you're on your own if you choose not to mount /usr
66 > early during boot in some way.
67 >
68 > The reason it is not supported is that with the rise of things like
69 > bluetooth the list of dependencies possibly required during early boot
70 > has grown to the point where we'd end up not even having a /usr before
71 > long. My sense is that for the most part most maintainers tend to
72 > respect the traditional definition of / and /usr on Gentoo, and thus
73 > you can often get away with doing things the traditional way.
74 > However, the policy does allow us to end debates over things like udev
75 > rules invoking some userspace tool in /usr and such. Some packages
76 > more strongly depend on /usr being installed in early boot, and there
77 > have been suggestions (but nothing concrete) that Gentoo consider
78 > supporting the /usr-move that other distros have embraced (and that
79 > would basically get rid of /lib, /bin, and so on).
80 >
81 > >
82 > > Again, legacy grub here. But if you're using an initramfs, from what I've seen
83 > > you don't need to specify metadata 0.90.
84 >
85 > I used to use grub legacy and kernel RAID auto-assembly. As a result
86 > I was using metadata 0.90.
87 >
88 > I found this configuration problematic on rare occasions. There is a
89 > reason that mdadm changed the metadata, and why most distros don't do
90 > it this way. (more below)
91 >
92 > >
93 > > Damn. I've just checked and something has renamed my /dev/md7 to
94 > > /dev/md127. Again. It's just too bad. I shall have to stop it when I get a
95 > > quiet moment and reassemble it into /dev/md7. Actually, I know what caused
96 > > it but I didn't notice at the time.
97 >
98 > And this was one of the configuration problems I ran into on rare
99 > occasion. Often booting from a rescue CD or such caused something
100 > like this to happen.
101 >
102 > One of the advantages of using an initramfs is that they can be a lot
103 > smarter about finding your partitions. You can identify them by UUID
104 > or label, and not care as much if mdadm or the kernel renames your
105 > device nodes.
106 >
107 > I'd seriously take a look at dracut, though I don't know if it works
108 > with eudev. It certainly should support openrc, and I know that it
109 > did back when I was running openrc. It can also mount /usr for you,
110 > and in fact it should automatically do so. It also respects your
111 > fstab - it uses its internal logic and the kernel boot line to
112 > initially find filesystems, but then it reads your /etc/fstab and
113 > remounts everything as you define it there just in case something has
114 > changed since the last time you built the initramfs/etc. You can
115 > define your own modules for it which makes it reasonably easy to get
116 > it to do anything at all during early boot, and it doesn't require
117 > anything to be built static (it finds required shared objects anywhere
118 > on the filesystem and includes them in the initramfs). It can also
119 > give you a rescue shell if something goes wrong, and depending on your
120 > settings you can make that rescue shell reasonably well-featured
121 > (using either dash or bash as you prefer inside, and I imagine you
122 > could tell it to install the other on the side). A while ago I needed
123 > to run some btrfs tools that aren't in dracut by default and it was
124 > trivial to tell dracut to include them, and I forced a shell on next
125 > boot which gave me the latest tools and kernel without having to build
126 > a rescue CD with them, and a bash shell to run them from.
127 >
128 > It certainly isn't necessary to use an initramfs to use Gentoo, and I
129 > used to be among the more minimalist crowd that avoided them.
130 > However, once I took the time to examine dracut it went from being a
131 > blob that looked unnecessary to a tool that is often useful.
132
133 Last time I tried to use dracut with openrc, it failed, I can't remember
134 exactly what happened, I think udev did hang, but its been a while since
135 this happened. Dracut uses systemd internally, so maybe this is part of
136 the problem.
137
138 --
139 Your life is like a penny. You're going to lose it. The question is:
140 How do
141 you spend it?
142
143 John Covici
144 covici@××××××××××.com

Replies

Subject Author
Re: [gentoo-user] Tips for fresh install with GRUB2+RAID1+LVM2 "Canek Peláez Valdés" <caneko@×××××.com>