Dogfooding of the /usr mount code with the matching OpenRC change to
make the mounts RW revealed some bugs and gotchas in our prior code, now
fixed and verified to work.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
instead. At the same time, mount cdrom into /mnt/cdrom instead of
/newroot/mnt/cdrom (which is now just a bind mount), this avoids
losetup to expose unavailable paths inside the live system, breaking
mkfs.btrfs (next upstream version, which does silly things with
/proc/mounts).
Set DO_slowusb as default, and make setup_slowusb unset it if it cannot find
a usb-storage attached. This makes genkernel ramdisk adhere to "noslowusb",
makes the ramdisk only wait if there is a usb-storage attached and should fix
gentoo bug #359619.
By adding the kernelcmd options "dokeymap" to MY_HWOPTS instead of
the HWOPTS version, "keymap" this typo broke the handling of keymaps
if you only had "keymap=<...>" in kernelcmd and did not specify "dokeymap"
too (which according to documentation should not be needed).
Only reason for this logic is to limit what entries in /proc/partitions
mdadm scans for arrays.
However this seems to break raids in containers (example Intel fakeraids)
as those containers are never scanned for arrays.
(On my system it activates /dev/md/imsm0, but never /dev/md/Gentoo_0 which
is the real RAID with the removed logic)
If someone has something dead-slow they do not want scanned for raids,
it is better if they specify their own mdadm.conf.
If someone finds an example of something that mdadm scans for arrays that
is not supposed to be scanned, we may handle that then.
This makes the ramdisk always mount some kind of /dev,
and then try to move it to the new root.
This unbreaks handling of nodes created pre-udev likefor example lvm does.
Change vgscan and vgchange so they are done in one go.
Faster since less work for the lvm command.
vgscan is still needed for some cases like dmcrypt where
/etc/lvm/cache is created, but not updated with the unlocked devices.
mdassemble can't handle newer metadata formats and fails for partitioned
arrays, among other things.
This...
- replaces the bundled mdassemble with proper support for mdadm
- fixes raid autodetection/assemble when no mdadm.conf is available
- fixes a compilation failure for newer mdadm versions
Tested w/ genkernel 3.4.10.907 and mdadm 3.1.3.
RAID0 btrfs volumes can be detected only if btrfsctl is started.
Since embedding extra executables in initramfs is already possible,
add minimal btrfs support inside linuxrc.