[TW] boot can't find / on mdraid1
![](https://seccdn.libravatar.org/avatar/a836ff90f492078f494adcf0c6059fc6.jpg?s=120&d=mm&r=g)
sda3 and nvme0n1p3 both contain exactly the same kernel and initrd. When booting via Grub2-efi on nvme0n1p3 (ESP), boot succeeds. :) # grep -A3 RAID custom.cfg menuentry "RAID md3 TW curkernel" { search --no-floppy --set=root --hint-bios=hd0,gpt3 --label pi3p03res linux /boot/vmlinuz-tw root=LABEL=1md11root3 noresume ipv6.disable=1 net.ifnames=0 mitigations=auto video=1440x900@60 initrd /boot/initrd-tw # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-tw root=LABEL=1md11root3 rd.hostonly=0 noresume ipv6.disable=1 net.ifnames=0 mitigations=auto video=1440x900@60 rd.auto=1 rd.timeout=99 rd.shell 3 When booting via Grub1 on sda1, /dev/disk/by-label/1md11root3 never times out, so no boot, and no rdsosreport.txt, unless I remember rd.timeout=. :( # grep root3 /disks/boot1/grub/menu.lst | head -1 kernel /boot/vmlinuz-tw root=LABEL=1md11root3 rd.hostonly=0 noresume ipv6.disable=1 net.ifnames=0 mitigations=auto consoleblank=0 vga=791 video=1440x900@60 3 systemd.debug-shell=1 In the emergency shell, lsmod shows neither raid1 nor md_mod got loaded. If I butcher a boot from ESP by making the root= invalid, but with rd.timeout=### getting me into the rescue shell, raid1 is the 3rd listed module, while md_mod shows up in the middle shortly before nvme. Adding to cmdline modules_load=md_mod,raid1 get them loaded, by doesn't cause any apparent improvement. I can't tell if there's anything helpful in rdsosreport.txt: https://paste.opensuse.org/pastes/de99a98a9def # lsinitrd initrd | egrep 'efi|ata|raid|md_mod|mdadm' mdraid -rw-rw-r-- 49 Feb 5 23:17 etc/cmdline.d/90mdraid.conf -rw-r--r-- 954 Feb 10 2015 etc/mdadm.conf -rwxr-xr-x 156 Jan 25 10:55 usr/lib/dracut/hooks/cleanup/99-mdraid-needshutdown.sh -rwxr-xr-x 701 Jan 25 10:55 usr/lib/dracut/hooks/pre-mount/10-mdraid-waitclean.sh -rw-r--r-- 230 Feb 2 04:30 usr/lib/modprobe.d/50-blacklist-pata_acpi.conf -rw-r--r-- 69 Feb 2 04:30 usr/lib/modprobe.d/70-softdep-ata_piix.conf -rw-r--r-- 7668 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/crypto/async_tx/async_raid6_recov.ko.zst -rw-r--r-- 6245 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/crypto/async_tx/raid6test.ko.zst drwxr-xr-x 0 Feb 5 23:17 usr/lib/modules/6.0.12-1-default/kernel/drivers/ata -rw-r--r-- 14431 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/ata/ata_piix.ko.zst -rw-r--r-- 36881 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/md/raid1.ko.zst -rw-r--r-- 5433 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/pinctrl/intel/pinctrl-lakefield.ko.zst drwxr-xr-x 0 Feb 5 23:17 usr/lib/modules/6.0.12-1-default/kernel/fs/efivarfs -rw-r--r-- 12198 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/fs/efivarfs/efivarfs.ko.zst drwxr-xr-x 0 Feb 5 23:17 usr/lib/modules/6.0.12-1-default/kernel/lib/raid6 -rw-r--r-- 87902 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/lib/raid6/raid6_pq.ko.zst -rw-r--r-- 512 Jan 4 12:39 usr/lib/systemd/system/mdadm-grow-continue@.service -rw-r--r-- 241 Jan 4 12:39 usr/lib/systemd/system/mdadm-last-resort@.service -rw-r--r-- 179 Jan 4 12:39 usr/lib/systemd/system/mdadm-last-resort@.timer -rwxr-xr-x 18608 Feb 2 15:06 usr/lib/udev/ata_id -rw-r--r-- 2456 Jan 4 12:39 usr/lib/udev/rules.d/63-md-raid-arrays.rules -rw-r--r-- 1358 Feb 5 23:17 usr/lib/udev/rules.d/64-md-raid-assembly.rules -rwxr-xr-x 623888 Jan 4 12:39 usr/sbin/mdadm -rwxr-xr-x 503 Jan 25 10:55 usr/sbin/mdraid-cleanup -rwxr-xr-x 1862 Jan 25 10:55 usr/sbin/mdraid_start # grep /etc/fstab # selected/relevant lines LABEL=pny5p03res /boot ext2 noatime,noauto 0 0 LABEL=realboot1r1 /disks/boot1 ext2 noatime,nofail 0 0 LABEL=1md11root3 / ext4 noatime 0 1 LABEL=1md15home /home ext4 noatime 0 2 LABEL=realboot1r2 /disks/boot2 ext2 noatime,noauto 0 0 # cat mdadm.conf # relevant lines HOMEHOST <ignore> DEVICE containers partitions ARRAY /dev/md3 metadata=1.0 UUID=b094eaa5:ab63fb5c:f6bcaadf:aecea6f4 ARRAY /dev/md7 metadata=1.0 UUID=99e63933:08e751a8:696eaad0:1fad1e7e # lsblk -f # relevant lines NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS ├─sdb11 linux_raid_member 1.0 srv10:mdroot3 b094eaa5-ab63-fb5c-f6bc-aadfaecea6f4 │ └─md122 ext4 1.0 1md11root3 ab936b4e-dada-48de-9a45-ae6d2b47c5a6 9.8G 37% / ├─sdb15 linux_raid_member 1.0 srv10:md-home 99e63933-08e7-51a8-696e-aad01fad1e7e │ └─md127 ext4 1.0 1md15home 2e3de98b-ed32-4224-8761-a954d2e0ae27 101.1G 29% /home # cat /etc/dracut.conf.d/*.conf | grep -v ^# persistent_policy="by-label" add_drivers+=" ata_piix libata raid1 md_mod nvme scsi_mod " compress="xz" hostonly="yes" mdadmconf="yes" omit_drivers+=" i18n uefi-lib encryptfs btrfs iscsi lvm lvm2 dmraid plymouth resume sata_sil usb_storage " # lsinitrd initrd | egrep 'ata_piix|libata|raid1|md_mod|nvme|scsi_mod' -rw-r--r-- 1 root root 69 Feb 2 04:30 usr/lib/modprobe.d/70-softdep-ata_piix.conf -rw-r--r-- 1 root root 14431 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/ata/ata_piix.ko.zst -rw-r--r-- 1 root root 36881 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/md/raid1.ko.zst drwxr-xr-x 3 root root 0 Feb 6 01:11 usr/lib/modules/6.0.12-1-default/kernel/drivers/nvme drwxr-xr-x 2 root root 0 Feb 6 01:11 usr/lib/modules/6.0.12-1-default/kernel/drivers/nvme/host -rw-r--r-- 1 root root 124109 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/nvme/host/nvme-core.ko.zst -rw-r--r-- 1 root root 40703 Dec 10 16:31 usr/lib/modules/6.0.12-1-default/kernel/drivers/nvme/host/nvme.ko.zst # lsmod | egrep 'nvme|ata|mdadm|md_mod|raid' raid1 57344 10 md_mod 204800 7 raid1 nvme 61440 10 nvme_core 172032 11 nvme # df -h | egrep ' /$|boot' /dev/md126 18G 6.6G 9.8G 41% / /dev/nvme0n1p3 386M 204M 182M 53% /boot /dev/sda3 388M 282M 86M 77% /disks/boot1 # ls /dev/md* /dev/md118 /dev/md119 /dev/md120 /dev/md121 /dev/md122 /dev/md123 /dev/md124 /dev/md125 /dev/md126 /dev/md127 /dev/md: srv10:md-home srv10:md-isos srv10:md-pub srv10:md-srv srv10:md-tmp srv10:md-usrl srv10:mdroot1 srv10:mdroot2 srv10:mdroot3 srv10:mdroot4 # Why aren't libata, ata_pii2 or scsi_mod loading? Why aren't the md3 & md7 device names from /etc/mdadm.conf found in /dev/? What am I not seeing or doing that needs doing for boot from sda3 to find the md3 / filesystem? On the disk pair containing all RAID devices, 15.4's /boot/ directory on / contains all customary files, and boots normally from Grub1 on sda3. The primary difference is TW has an empty /boot/ on the / filesystem due to the presence of sda3 which gets mounted there and contains the boot files. Both use the exact same /etc/mdadm.conf file content. -- Evolution as taught in public schools is, like religion, based on faith, not based on science. Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata
![](https://seccdn.libravatar.org/avatar/9435667f7160374bc34a8600b686aecd.jpg?s=120&d=mm&r=g)
On Mon, Feb 6, 2023 at 12:01 PM Felix Miata
doesn't cause any apparent improvement. I can't tell if there's anything helpful in rdsosreport.txt: https://paste.opensuse.org/pastes/de99a98a9def
[ 2.504750] gb250 dracut-pre-trigger[373]: rd.md=0: removing MD RAID activation
![](https://seccdn.libravatar.org/avatar/a836ff90f492078f494adcf0c6059fc6.jpg?s=120&d=mm&r=g)
Andrei Borzenkov composed on 2023-02-06 14:08 (UTC+0300):
Felix Miata wrote:
doesn't cause any apparent improvement. I can't tell if there's anything helpful in rdsosreport.txt: https://paste.opensuse.org/pastes/de99a98a9def
[ 2.504750] gb250 dracut-pre-trigger[373]: rd.md=0: removing MD RAID activation
Thank you for noticing. My eyes were very tired by the time I was able to collect rdsosreport.txt. I composed the OP over many hours of frustration, and sent only after I was able to pastebin it, then went to bed. https://mirrors.edge.kernel.org/pub/linux/utils/boot/dracut/dracut.html#drac... [quote] rd.hostonly=0 removes all compiled in configuration of the host system the initramfs image was built on. This helps booting, if any disk layout changed, especially in combination with rd.auto or other parameters specifying the layout.[/quote] Why? I thought this was supposed to be helpful? I added it several months ago, but don't remember why, other than I had cloned the old NVME to a newer one, and it had been necessary at some point, or maybe the only way it would boot back then. Oh, here: https://bugzilla.opensuse.org/show_bug.cgi?id=1205261 Coupling rd.hostonly=0 with rd.auto or rd.auto=1 is a solution/workaround for now. -- Evolution as taught in public schools is, like religion, based on faith, not based on science. Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata
participants (2)
-
Andrei Borzenkov
-
Felix Miata