booster: current raid/mdadm support does not allow enough time for slow devices to come fully online
I’m using booster 0.6-1
from the archlinux repositories. My root is a 2-disk RAID1 on relatively slow HDDs. I am not able to use booster to boot because I believe that booster is not waiting for the RAID1 to fully finish assembly before attempting to mount. My system does alternatively work with mkinitcpio
and the systemd
+ mdadm_udev
hooks.
When attempting to boot, I get an “unable to read superblock” error. If I wait for the mount_timeout
to elapse I can manually mount the RAID device, which is already present, without error.
An abbreviated dmesg log is here (I can attach full log if requested). Notice that the “unable to read superblock” error occurs moments before the raid device comes fully online:
[ 0.000000] Command line: initrd=\amd-ucode.img initrd=\booster-linux-lts.img root=/dev/md/root rootfstype=ext4 rw
[ 0.000000] Kernel command line: initrd=\amd-ucode.img initrd=\booster-linux-lts.img root=/dev/md/root rootfstype=ext4 rw
[ 0.130695] smpboot: CPU0: AMD Ryzen 3 2200G with Radeon Vega Graphics (family: 0x17, model: 0x11, stepping: 0x0)
[ 6.369652] md_mod: module verification failed: signature and/or required key missing - tainting kernel
[ 6.462668] EXT4-fs (md127): unable to read superblock
[ 6.462755] booster: mount(/dev/md/root): input/output error
[ 6.505324] md/raid1:md127: active with 2 out of 2 mirrors
[ 6.543912] md127: detected capacity change from 0 to 999546290176
[ 128.412919] EXT4-fs (md127): mounted filesystem with ordered data mode. Opts: (null)
(I’m also very surprised by the tainting kernel
line but that seems unrelated)
My /etc/booster.yaml
is
universal: false
compression: zstd
mount_timeout: 1m
strip: true
# I removed fsck and fsck.ext4 in the course of debugging
extra_files: busybox
enable_mdraid: true
I’m using systemd-boot
and my boot entry is:
title Arch Linux
linux /vmlinuz-linux-lts
initrd /amd-ucode.img
initrd /booster-linux-lts.img
options root=/dev/md/root rootfstype=ext4 rw
My /etc/mdadm.conf
is just
DEVICE partitions
ARRAY /dev/md/root metadata=1.2 name=<hostname>:root UUID=<UUID>
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 16 (9 by maintainers)
I have rebuilt based on 3fd94442695196fdd873eb205644dad28598804d (HEAD of
wip
as of 2021-08-29 EST afternoon) and I now successfully boot both with and withoutbooster.debug
set. I rebooted a few times, including ‘cold boots’, to see if there were any common race conditions and did not run in to any.Attached is the
dmesg
log for a successful boot withbooster.debug
set. Thanks very much @anatol ! 2021-08-29-booster_debug_dmesg.txt