Created attachment 354952 [details] dracut-manual-boot-1.png Today I've installed new server with root on lvm that in turn is on raid1: # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk |-sda1 8:1 0 512M 0 part /boot/efi1 `-sda2 8:2 0 931G 0 part `-md127 9:127 0 931G 0 raid1 `-l-root (dm-0) 254:0 0 10G 0 lvm / sdb 8:16 0 931.5G 0 disk |-sdb1 8:17 0 512M 0 part /boot/efi2 `-sdb2 8:18 0 931G 0 part `-md127 9:127 0 931G 0 raid1 `-l-root (dm-0) 254:0 0 10G 0 lvm / Unfortunately at boot dracut failed to mount root and it ended at the resque shell without raid1 being assembled. After I assemble raid manually and start lvm it bootted as expected (see, dracut-manual-boot-1.png and dracut-manual-boot-2.png). To fix this issue I've started to read dracut logs (attached) and found that it looks for --offroot option in mdadm. I've tried to upgrade mdadm to 3.2.6-r1 and it worked! I'm not sure if this is a final fix or only workaround. --offroot option was added in mdadm-3.2.3 and I've tried to boot with 3.2.3-r2 and 3.2.5-r1 and dracut failed to boot with both of them. It works only with 3.2.6-r1 as I see.
Created attachment 354954 [details] dracut-manual-boot-2.png
Created attachment 354956 [details] dracut-debug.tar.xz
Created attachment 354960 [details] mdadm.conf # blkid /dev/sdb1: LABEL="EFI-BOOT" UUID="F743-46D9" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="627a1c55-f29c-4ffb-b161-47e8d23ffd37" /dev/sdb2: UUID="160643da-cfee-732b-b7e7-4b81d770b3dd" UUID_SUB="6649ee2e-f0c5-b366-59a3-45b5facdd1e6" LABEL="sysresccd:raid1" TYPE="linux_raid_member" PARTLABEL="Linux LVM" PARTUUID="a10088b6-d43a-4240-978d-0f758b4bc41d" /dev/sda1: LABEL="EFI-BOOT" UUID="F721-034A" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="c3f7252b-a57d-411c-b049-49e9ba16e928" /dev/sda2: UUID="160643da-cfee-732b-b7e7-4b81d770b3dd" UUID_SUB="8e880096-d6fa-c23e-6f31-2aa54ae3b1f9" LABEL="sysresccd:raid1" TYPE="linux_raid_member" PARTLABEL="Linux LVM" PARTUUID="875d1b6e-4506-4ae7-907d-359cb2e93dd2" /dev/md127: UUID="7ZyDlE-rgqv-TZ5W-KbMM-yH3K-Vpx9-zRwYVv" TYPE="LVM2_member" /dev/mapper/l-root: LABEL="root" UUID="85d10aa3-507f-4fc9-9150-cd5473fd3a91" TYPE="ext4"
Created attachment 354962 [details] emerge--info.txt
3.2.5-r1 and 3.2.6 are broken. See bug 416081.
3.2.3-r2 uses /dev/.mdadm as MAP_DIR, so it also should work, but I didn't try it.
Or may be MAP_DIR is not a problem. Initramfs contains compatibility symlinks: $ sudo lsinitrd /boot/initramfs-3.9.9-hardened.img | grep var drwxr-xr-x 2 root root 0 Aug 3 00:59 var lrwxrwxrwx 1 root root 11 Aug 3 00:59 var/lock -> ../run/lock lrwxrwxrwx 1 root root 10 Aug 3 00:59 var/log -> ../run/log lrwxrwxrwx 1 root root 6 Aug 3 00:59 var/run -> ../run
New mdadm is ~arm keyworded and dracut depends on new mdadm, therefore problem should be fixed. Thank you for report!
No. It seems that the real problem is that Peter haven't appended "rd.md.uuid" or "rd.auto" option to the kernel cmdline. It's actually a bug in dracut: with mdadm-3.2.6 incremental assembly rule is not removed from 64-md-raid.rules and all MD devices get assembled unconditionally. Proof from debug log: ///lib/dracut/hooks/pre-trigger/30-parse-md.sh@8(source): info 'rd.md=0: removing MD RAID activation'
By the way mentioned dracut bug have been fixed: http://git.kernel.org/cgit/boot/dracut/dracut.git/commit/?id=ecc13ef17e376c4ee54a2177687ef018466f53ca
Patch applied, see bug #485748.