diff options
author | Anders F Björklund <anders.f.bjorklund@gmail.com> | 2021-03-28 10:27:57 +0200 |
---|---|---|
committer | Anders F Björklund <anders.f.bjorklund@gmail.com> | 2021-03-29 21:53:48 +0200 |
commit | 870beaf137d6afb674bbd1743eaa8a761dd54511 (patch) | |
tree | 31f183120400a987bd8488d94408889e5b105c0f /pkg/machine/qemu | |
parent | aa96cb6739303a4bf76aeb6395e8ef79ff8ef0ee (diff) | |
download | podman-870beaf137d6afb674bbd1743eaa8a761dd54511.tar.gz podman-870beaf137d6afb674bbd1743eaa8a761dd54511.tar.bz2 podman-870beaf137d6afb674bbd1743eaa8a761dd54511.zip |
Add machine support for qemu-system-aarch64
- Build machine also for podman-linux-arm64
- Add default machine type for linux arm64
- Add the required qemu-uefi bios parameter
- Remove hardcoded outdated path and show url
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
Diffstat (limited to 'pkg/machine/qemu')
-rw-r--r-- | pkg/machine/qemu/options_linux_arm64.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/pkg/machine/qemu/options_linux_arm64.go b/pkg/machine/qemu/options_linux_arm64.go new file mode 100644 index 000000000..948117653 --- /dev/null +++ b/pkg/machine/qemu/options_linux_arm64.go @@ -0,0 +1,41 @@ +package qemu + +import ( + "os" + "path/filepath" +) + +var ( + QemuCommand = "qemu-system-aarch64" +) + +func (v *MachineVM) addArchOptions() []string { + opts := []string{ + "-accel", "kvm", + "-cpu", "host", + "-M", "virt,gic-version=max", + "-bios", getQemuUefiFile("QEMU_EFI.fd"), + } + return opts +} + +func (v *MachineVM) prepare() error { + return nil +} + +func (v *MachineVM) archRemovalFiles() []string { + return []string{} +} + +func getQemuUefiFile(name string) string { + dirs := []string{ + "/usr/share/qemu-efi-aarch64", + "/usr/share/edk2/aarch64", + } + for _, dir := range dirs { + if _, err := os.Stat(dir); err == nil { + return filepath.Join(dir, name) + } + } + return name +} |