rust-hypervisor-firmware icon indicating copy to clipboard operation
rust-hypervisor-firmware copied to clipboard

Unable to boot ubuntu cloud images newer than focal

Open tpressure opened this issue 6 months ago • 6 comments
trafficstars

Issue Description

When booting recent Ubuntu cloud images (newer than focal) with hypervisor-fw, the following error can be observed on serial:

error: could not set EFI variable `LoaderDevicePartUUID'.
error: failed to install protocols.

This error seems to come from Grub.

Depending on the image we're using, the boot process either stops here, or the kernel starts to boot and then dies with the following error:

[    1.516877] VFS: Cannot open root device "LABEL=cloudimg-rootfs" or unknown-block(0,0): error -6
[    1.517975] Please append a correct "root=" boot option; here are the available partitions:
[    1.519029] fd00         3670016 vda 
[    1.519035]  driver: virtio_blk
[    1.519897]   fd01         2507759 vda1 3c7403b7-1401-4d43-aead-ac9d8e794513
[    1.519902] 
[    1.520923]   fd0d         1047552 vda13 1c6623b4-4ca8-449e-94ef-488f8290dc5e
[    1.520927] 
[    1.523314]   fd0e            4096 vda14 70ff585e-91cb-421a-bc4f-8af4661b5e89
[    1.523319] 
[    1.524615]   fd0f          108544 vda15 93cdc7a9-f6d5-49fa-8bb6-30d34f7136d6
[    1.524620] 
[    1.525686] fd10            8192 vdb 
[    1.525692]  driver: virtio_blk
[    1.527492] List of all bdev filesystems:
[    1.527899]  ext3
[    1.527902]  ext2
[    1.528130]  ext4
[    1.528636]  squashfs
[    1.528848]  vfat
[    1.529102]  fuseblk

This happens in cloud-hypervisor and also in qemu when hypervisor-fw is used. The current workaround is to use EDK2 (CLOUDHV.fd) instead of hypervisor-fw.

Steps to reproduce

CHV

cloud-hypervisor \
        --kernel ./hypervisor-fw \
        --disk path=oracular-server-cloudimg-amd64.raw path=/tmp/ubuntu-cloudinit.img \
        --cpus boot=4 \
        --memory size=1024M \
        --console off \
        --serial tty

Qemu

qemu-system-x86_64 -m 2048 \
                   -cpu host \
                   -enable-kvm \
                   -M q35 \
                   -drive file=oracular-server-cloudimg-amd64.raw,if=none,id=hd0,format=raw \
                   -device virtio-blk-pci,drive=hd0,disable-legacy=on \
                   -hda /tmp/ubuntu-cloudinit.img \
                   -smp 4 \
                   -kernel hypervisor-fw \
                   -serial stdio

Download links

tpressure avatar May 20 '25 11:05 tpressure