Bug#762984: Alert! /dev/vg0/usr does not exist
Simon McVittie
smcv at debian.org
Thu Nov 27 21:19:10 UTC 2014
On 27/11/14 20:09, Elimar Riesebieter wrote:
> Right, adding root and usr raid partitions to INITRDSTART like
> "INITRDSTART='/dev/md3 /dev/md5'" or just 'all' does the job. There
> is no need to involve initramfs to mount /usr before init.
If your init is systemd, initramfs-tools >= 0.117 *does* automatically
mount /usr before init, to ensure that rootfs <-> /usr interdependencies
can never be a problem (for instance third-party udev rules often need
helpers in /usr). That's the feature that I'm trying to get migratable
into testing, because when it works, it'll make the boot sequence a lot
simpler; but it's also the feature that caused this regression.
(It was meant to do the same for non-systemd too, but initscripts
doesn't currently support that.)
>> Perhaps modifying mdadm and lvm2 so they will set up enough md/lvm bits
>> for /usr in the initramfs would be sufficient for a 95% solution?
>
> What do you propose to adapt it to lvm2? Why should we avoid hardcoding via
> /etc/initramfs-tools/scripts? Maybe a move from
> /usr/share/initramfs-tools/scripts/local-top/lvm2 to
> /lib/initramfs-tools/scripts/local-top/lvm2 should work?
No, whether /usr/share/initramfs-tools is on the rootfs is irrelevant:
it's only used when update-initramfs is run, on a fully booted system,
usually as a result of a dpkg run.
What the initramfs does is currently (in pseudocode):
* (hook provided by cryptsetup)
decrypt encrypted volumes needed for / or swap
* (hook provided by mdadm) start RAID arrays needed for / or swap
* (hook provided by lvm2) start LVM volumes needed for / or swap
* (basic functionality of initramfs-tools) if swap contains a
hibernation image, resume from it
* (basic functionality of initramfs-tools) mount /
* (basic functionality of initramfs-tools) if /usr is a separate
filesystem, mount it
* (basic functionality of initramfs-tools) run the real init
The patch I attached to #767832 changes the cryptsetup step to "decrypt
encrypted volumes needed for /, /usr or swap" so that, when we get to
the "mount /usr" step, it actually works, even if /usr is on an
encrypted volume.
What I'm saying is that lvm2 and mdadm are going to need changes similar
to the one I proposed on #767832, so that "mount /usr" works if /usr is
on a separate LVM or RAID volume.
S
More information about the pkg-mdadm-devel
mailing list