Comment 0 for bug 1913012

Revision history for this message
Alain Kalker (ackalker) wrote :

Unless the Qemu build is configured using `./configure --datadir=<path> where <path> is some absolute path which is a subdirectory of <prefix>, the resulting installed firmware descriptor files contain relative paths for their `mapping.filename` properties. These relative paths will not be accepted as valid by tools like `virt-install`, resulting in the inability to configure new VMs using these firmware descriptors.

# QEMU version
$ qemu-system-x86_64 -version
QEMU emulator version 5.2.0

(I've also reproduced the issue with QEMU built from Git master @ v5.2.0-1300-g0e32462630, see next comment.)

# OS version
Void Linux x86_64 (glibc)

Steps to reproduce (with results on my system):

# Verify the symptom

$ virt-install --boot firmware=efi --disk none --memory 2048
Using default --name vm4
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.

Starting install...
ERROR Failed to open file 'share/qemu/edk2-i386-vars.fd': No such file or directory
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///session start vm4
otherwise, please restart your installation.

# Verify most likely cause

$ grep filename /usr/share/qemu/firmware/*i386*.json
/usr/share/qemu/firmware/50-edk2-i386-secure.json: "filename": "share/qemu/edk2-i386-secure-code.fd",
/usr/share/qemu/firmware/50-edk2-i386-secure.json: "filename": "share/qemu/edk2-i386-vars.fd",
/usr/share/qemu/firmware/60-edk2-i386.json: "filename": "share/qemu/edk2-i386-code.fd",
/usr/share/qemu/firmware/60-edk2-i386.json: "filename": "share/qemu/edk2-i386-vars.fd",