-
-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for ARMv8 to use AAVMF EFI firmware #880
Conversation
@dustins have you had any luck with this one? |
Yes, I actually am almost done just wanted to test on x86 and ARM64 before pushing. Sorry for the long delay! I think I can test tonight and then push up the changes for you to review. |
Sounds good. We're releasing 6.2 today so that will most likely miss that release by a hair but it will be in 6.3 for sure. |
I still have to test this on arm64/x86_64 to check that this all still works. |
Ok I tested this on my x86_64/arm64 boxes and I was able to launch VMs with and without secure boot. |
"github.com/lxc/incus/v6/client" | ||
incus "github.com/lxc/incus/v6/client" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needless change caused by goimports.
Looking good, just a few changes needed to get the tests to be happy! |
Looking at this one now |
I did:
|
64c10bc
to
3d58b37
Compare
Signed-off-by: Dustin Sweigart <[email protected]>
Signed-off-by: Dustin Sweigart <[email protected]>
Signed-off-by: Dustin Sweigart <[email protected]>
Signed-off-by: Dustin Sweigart <[email protected]>
Done cleaning this one up and doing some testing on it. |
Based on: - lxc/incus#880 - lxc/incus#991 - lxc/incus#1033 - lxc/incus#1054 - lxc/incus#1178 Plus adds support for Ubuntu 24.04 OVMF and seabios firmware locations, and maintains support for both `LXD_QEMU_FW_PATH` and `LXD_OVMF_PATH` environmental variables (accepting multiple search paths). Also changes how apparmor profile is generated to only allow access to specific firmware file selected. Tested with: - [x] Outside of snap on Ubuntu 24.04 with OVMF and Seabios packages. - [x] Inside the latest/edge snap, with OVMF and Seabios modes. - [x] Upgrading from 5.0/stable snap with VM using 2MB OVMF FW switching to latest/edge with custom binary and check 4MB firmware is used. - [x] Inside the latest/edge snap with debug OVMF firmware mode (with/without secureboot enabled).
I discovered I wasn't able to run VMs on my RK3588 (ARM64). Although ARM64 supports UEFI it wasn't able to find appropriate
*.fd
files because it is assumed every architecture was using OVMF. On ARM64 it should be using AAVMF as far as I can tell.This PR adds support for using AAVMF on ARMv8 architectures and updates the documentation to reflect the code changes.
I've tested creating VMs with these changes on my ARM64 and x86_64 machines but don't have many devices to test against.