Currently the DevicePath parse function only supports TYPE_MEDIA sub type 0x04 (MEDIA_FILEPATH_DP)1, however, booting with systemd boot stub requires sub type 0x03 (MEDIA_VENDOR_DP) with LoadImage2.
At the moment this causes boot with a UKI using the systemd boot stub to fail with:
[ERROR] Unexpected end of device path
Error loading kernel image: Unsupported
PANIC: panicked at src/main.rs:290:5:
Unable to boot from any virtio-blk device
It would be great if this sub type could be supported to allow UKI booting.
Currently the
DevicePathparse function only supportsTYPE_MEDIAsub type0x04(MEDIA_FILEPATH_DP)1, however, booting with systemd boot stub requires sub type0x03(MEDIA_VENDOR_DP) withLoadImage2.At the moment this causes boot with a UKI using the systemd boot stub to fail with:
It would be great if this sub type could be supported to allow UKI booting.
Footnotes
https://github.com/cloud-hypervisor/rust-hypervisor-firmware/blob/bd9d7dc0e7f78b9627988a22f08f086424d54226/src/efi/device_path.rs#L27 ↩
https://github.com/systemd/systemd/blob/11d5e2b5fbf9f6bfa5763fd45b56829ad4f0777f/src/boot/efi/linux.c#L58 ↩