I have a system that was running xen for 2 years without getting updated. Had no issues, but decided the machine needed to be upgraded so I threw in some new drives and got to work. Unfortunately, xen itself is not playing nice and is panicking being unable to load the md1 partition (mdadm raid1).
I’d have to throw the old drives back in to check which xen version it was running, as the grub config doesn’t tell me.. but here is the old grub config that worked.
menuentry "kernel-4.9.0-aufs" {
insmod raid
insmod mdraid
insmod part_msdos
insmod part_msdos
insmod ext2
set root=(md0)
search --no-floppy --fs-uuid --set efb580c9-988d-48cf-8e2e-ba6fbea170e4
multiboot /xen.gz loglvl=all guest_loglvl=all xsave=1
module /kernel-4.9.0-aufs rootfstype=ext4 root=/dev/md1 iommu=1 xen-pciback.permissive xen-pciback.passthrough=1 xen-pciback.hide=(0000:04:00.0)(0000:04:00.1)(0000:04:00.2)(0000:04:00.3)
set gfxpayload=keep
}
The PCI 0000:04 devices are NICs, so ignore that. But this worked for 2+ years without issue.
I used the running config from the old kernel to base the new one off of, so all my drivers and xen setup is exactly the same. But the new one will start xen and switch over to the kernel, but says VFS: Cannot open root device "md1" or unknown-block(0,0).
Here is that config.
menuentry "kernel-4.19.1-aufs" {
insmod diskfilter
insmod mdraid09
insmod part_msdos
insmod part_msdos
insmod ext2
set root=(md0)
search --no-floppy --fs-uuid --set 954936b8-9e17-4a2a-b2c2-b15e7ced5ee8
multiboot /xen.gz loglvl=all guest_loglvl=all xsave=1 iommu=1 iommu_inclusive_mapping=1 dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=4096M
module /kernel-4.19.1-aufs xen-pciback.permissive xen-pciback.passthrough=1 xen-pciback.hide=(0000:04:00.0)(0000:04:00.1)(0000:04:00.2)(0000:04:00.3) root=/dev/md1 rootfstype=ext4 rand_id=P0UJKUSZ
module /early_ucode.cpio
set gfxpayload=keep
}
I’m on Funtoo/Gentoo so I also built the kernel using genkernel again, and it included the ramdrive. Here is the config for a working, non xen calling, boot.
menuentry "Funtoo Linux genkernel - kernel-genkernel-x86_64-4.19.1-aufs" {
insmod diskfilter
insmod mdraid09
insmod part_msdos
insmod part_msdos
insmod ext2
set root=(md0)
search --no-floppy --fs-uuid --set 954936b8-9e17-4a2a-b2c2-b15e7ced5ee8
linux /kernel-genkernel-x86_64-4.19.1-aufs domdadm real_root=/dev/md1 rootfstype=ext4 rand_id=H1BMLGDA
initrd /early_ucode.cpio /initramfs-genkernel-x86_64-4.19.1-aufs
set gfxpayload=keep
}
Yet, this similar xen config tells me it fails the boot as well, but says (null) for the root fs.
menuentry "Funtoo on Xen - kernel-genkernel-x86_64-4.19.1-aufs" {
insmod diskfilter
insmod mdraid09
insmod part_msdos
insmod part_msdos
insmod ext2
set root=(md0)
search --no-floppy --fs-uuid --set 954936b8-9e17-4a2a-b2c2-b15e7ced5ee8
multiboot /xen.gz loglvl=all guest_loglvl=all xsave=1 iommu=1 iommu_inclusive_mapping=1 dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=4096M
module /kernel-genkernel-x86_64-4.19.1-aufs domdadm xen-pciback.permissive xen-pciback.passthrough=1 xen-pciback.hide=(0000:04:00.0)(0000:04:00.1)(0000:04:00.2)(0000:04:00.3) real_root=/dev/md1 rootfstype=ext4 rand_id=H1BMLGDA
module /early_ucode.cpio
module /initramfs-genkernel-x86_64-4.19.1-aufs
set gfxpayload=keep
}
There has to be something stupid simple here that I am missing.
MarcT