XCP-ng + Fedora VM + Kernel 5.14.11 = Failed boot

One of my virtual machines is now failing to boot after updating to the latest kernel. The VM was Fedora 33 based. I updated from kernel 5.13.14-100 to 5.14.11-100 and when the VM rebooted I received a bunch of dracut output then a failed to boot saying it couldn’t find my root or swap devices. I rebooted, selected my previous kernel and it boots just fine. So I uninstalled the new kernel and tried upgrading again, but received the same results. I removed the kernel again and decided to try upgrading to Fedora 34. The upgrade completed without an issue, but Fedora 34 install kernel 5.14.11-200, which failed to boot for the same reason. Still, my old kernel boots the system just fine. Console screenshot attached.

Follow the instructions at the end of that screenshot. The /run/initramfs/sdsosreport.txt file may give some clues to the problem; as may the output of journalctl.

It would appear that something is not correct with the config of the updated kernel.

Did you follow the standard upgrade procedure of doing a full upgrade of fedora 33 before you began the upgrade to fedora 34?

sudo dnf upgrade -y --refresh

If not then it is possible that something out of sync may have triggered the error.

It is probably possible to do a recovery by doing a distro-sync

sudo dnf distro-sync --refresh

It looks like you were using LVM with LVs for / and swap, and something may have corrupted that config.

Please boot the VM to a live media device (USB or ISO) and from a terminal there run the commands “pvscan”, “vgscan” and “lvscan”. They should show the same as what you see with the same commands when booted to the older kernel that still boots.

The system boots, but only with the 5.13.14-100 kernel. I did all the procedures for the upgrade to 34, but the problem existed before the upgrade. So obviously the volumes exist as the system runs just fine on the old kernel.

It looks like the new kernel is not detecting the disks at all. There’s no dm-0 or dm-1 which would normally be mapped to the volume group.

It’s a dracut/xen-blkfront issue. Fix is here:

It applies to the file at /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh