summaryrefslogtreecommitdiff
path: root/pkg/machine/qemu
diff options
context:
space:
mode:
authorAnders F Björklund <anders.f.bjorklund@gmail.com>2021-03-28 10:27:57 +0200
committerAnders F Björklund <anders.f.bjorklund@gmail.com>2021-03-29 21:53:48 +0200
commit870beaf137d6afb674bbd1743eaa8a761dd54511 (patch)
tree31f183120400a987bd8488d94408889e5b105c0f /pkg/machine/qemu
parentaa96cb6739303a4bf76aeb6395e8ef79ff8ef0ee (diff)
downloadpodman-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.go41
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
+}