virsh create fails with "Unable to find any firmware to satisfy 'efi'" for aarch64 guest on macOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am having trouble when I `virsh create test.xml` with an aarch64
guest on a macOS (Apple Silicon) host. I've wrestled with a variety of
issues but the one I simply haven't been able to get past is this
regarding the UEFI firmware:

error: Failed to create domain from test.xml
error: operation failed: Unable to find any firmware to satisfy 'efi'

This is with `virsh --version` of 7.9.0 and `qemu-system-aarch64
--version` of 6.1.0, both installed via the common `brew` tool from
its main 'homebrew/core' tap. I have confirmed that the loader/nvram
files referenced do exist.

Running `qemu-system-aarch64 -L help` outputs two lines:

/opt/homebrew/Cellar/qemu/6.1.0_1/bin/../share/qemu-firmware
/opt/homebrew/Cellar/qemu/6.1.0_1/bin/../share/qemu

The …/share/qemu-firmware folder does NOT exist, but symlinking it to
a …/share/qemu/firmware folder which does exist does not improve the
situation.

I have also tried renaming the …/share/qemu/firmware folder (e.g. `mv
firmware zzz-firmware`) as some notes I found led me to believe that
libvirst might ignore my loader/nvram settings entirely if QEMU had
the "new" firmware JSON configuration stuff there? But again no
improvement….


How can I debug this further? What should I try next?

thanks,
-natevw


--- the test.xml domain configuration I am trying ---

<domain type="qemu" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0";>
  <name>test1</name>
  <uuid>D45FCA3E-B873-4608-A0B8-3D8529E7CFB7</uuid>
  <memory unit="MiB">2048</memory>
  <cpu mode="host-model" check="partial" />
  <vcpu>2</vcpu>
  <clock offset="utc"/>
  <qemu:commandline>
    <qemu:arg value='-accel'/>
    <qemu:arg value='hvf'/>
  </qemu:commandline>
  <os firmware="efi">
    <type arch="aarch64" machine="virt">hvm</type>
    <loader readonly="yes" secure="no"
type="pflash">/opt/homebrew/share/qemu/edk2-aarch64-code.fd</loader>
    <nvram template="/opt/homebrew/share/qemu/edk2-arm-vars.fd">/Users/me/vm_testing/vm-test1.efi.fd</nvram>
    <bootmenu enable="no"/>
    <boot dev="hd"/>
  </os>
  <features>
    <acpi/>
    <gic version="3"/>
    <pae/>
  </features>
  <devices>
    <emulator>/opt/homebrew/bin/qemu-system-aarch64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/Users/me/vm_testing/vm-test1.qcow2"/>
      <target dev="vda" bus="virtio"/>
    </disk>
    <interface type="network">
      <source network="default"/>
      <model type="virtio"/>
    </interface>
    <console type="pty">
      <target type="serial" port="0"/>
    </console>
    <rng model="virtio">
      <backend model="random">/dev/urandom</backend>
    </rng>
  </devices>
</domain>





[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux