Created attachment 802300 [details, diff] patch changing hardcoded paths minikube kvm2 driver uses hardcoded paths to aarch64 version of sys-firmware/edk2-ovmf and cannot create libvirt VM. I've tested it on =sys-cluster/minikube-1.26.1 Example: LC_ALL=C minikube start --driver=kvm2 * minikube v1.26.1 on Gentoo 2.8 (arm64) * Using the kvm2 driver based on user configuration * Starting control plane node minikube in cluster minikube * Creating kvm2 VM (CPUs=2, Memory=2200MB, Disk=20000MB) ... * Deleting "minikube" in kvm2 ... ! StartHost failed, but will try again: creating host: create: Error creating machine: Error in driver during machine creation: error creating VM: virError(Code=38, Domain=10, Message='Otwarcie pliku „/usr/share/AAVMF/AAVMF_VARS.fd” się nie powiodło: Nie ma takiego pliku ani katalogu') * Creating kvm2 VM (CPUs=2, Memory=2200MB, Disk=20000MB) ... * Failed to start kvm2 VM. Running "minikube delete" may fix it: creating host: create: Error creating machine: Error in driver during machine creation: error creating VM: virError(Code=38, Domain=10, Message='Otwarcie pliku „/usr/share/AAVMF/AAVMF_VARS.fd” się nie powiodło: Nie ma takiego pliku ani katalogu') X Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: Error creating machine: Error in driver during machine creation: error creating VM: virError(Code=38, Domain=10, Message='Otwarcie pliku „/usr/share/AAVMF/AAVMF_VARS.fd” się nie powiodło: Nie ma takiego pliku ani katalogu') * I couldn't change locale, message errors talk about missing files and directories. I've tried to patch hardcoded paths. New firmware paths work on --driver=qemu2 but --driver=kvm2 is still broken. I can't figure out why. This is the patch I've used. https://github.com/adippl/evgr/blob/master/sys-cluster/minikube/files/aarch64-ovmf.patch and my ebuild https://github.com/adippl/evgr/blob/master/sys-cluster/minikube/minikube-1.26.1.ebuild
Actually, I think QEMU should be installing some aarch64 firmware? Or edk2-ovmf should be?
(In reply to John Helmert III from comment #1) > Actually, I think QEMU should be installing some aarch64 firmware? Or > edk2-ovmf should be? Sorry, /usr/share/qemu/edk2-aarch64-code.fd and /usr/share/qemu/edk2-arm-vars.fd belong to app-emulation/qemu package on gentoo.
(In reply to ev from comment #2) > (In reply to John Helmert III from comment #1) > > Actually, I think QEMU should be installing some aarch64 firmware? Or > > edk2-ovmf should be? > > > Sorry, /usr/share/qemu/edk2-aarch64-code.fd and > /usr/share/qemu/edk2-arm-vars.fd belong to app-emulation/qemu package on > gentoo. For which QEMU version, and which arch was it built on? QEMU upstream bundles edk2-ovmf, but we unbundle it in the ebuild and instead use sys-firmware/edk2-ovmf.
sys-firmware/edk2-bin does now install aarch64 firmware, and sys-firmware/edk2 does so when built on arm64. The path is still wrong though, it doesn't use /usr/share/AAVMF.