Open retrage opened 1 month ago
It also needs InstallMultipleProtocolInterfaces()
, which has variadic arguments. Recent nightly Rust has varargs support for "efiapi", but the pinned version of Rust is too old.
To fix this issue, RHF needs to support EFI protocol installation operations.
I think this might also be needed for the RISC-V support for the a Linux kernel loading protocol.
I'm trying to add Ubuntu 24.04 to the integration test targets, but the guest fails to find the rootfs:
Ubuntu 24.04 uses systemd-boot, which sets up the rootfs information at the startup. It installs some EFI protocols during the boot process, but the current RHF implementation does not support the operations. The boot log says it failed to install protocols:
To fix this issue, RHF needs to support EFI protocol installation operations.
Working branch: https://github.com/retrage/rust-hypervisor-firmware/tree/ubuntu-2404-integration-tests