Description
Install a Fedora VM using UEFI/OVMF.
Setup
Installing UEFI firmware for x86 QEMU (OVMF)
OVMF isn't in Fedora yet due to some licensing issues, so we need to get the firmware from an external repo. More info on this page: Using UEFI with QEMU
sudo wget http://www.kraxel.org/repos/firmware.repo -O /etc/yum.repos.d/firmware.repo sudo yum install edk2.git-ovmf-x64 edk2.git-aarch64
Note, these instructions are also used for setting up aarch64 UEFI support. For strictly x86 support, the aarch64 references aren't required.
Configure libvirtd to advertise UEFI support
Libvirt needs to know about UEFI->NVRAM config file mapping, so it can advertise it to tools like virt-manager/virt-install.
As root, edit /etc/libvirt/qemu.conf, and add this section at the top of the file:
nvram = [ "/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd", "/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw", ]
Then restart libvirtd: sudo systemctl restart libvirtd
How to test
Install VM with virt-install
Follow one of the VM install test cases with virt-install, but also append the option --boot uefi
. Like:
sudo virt-install --boot uefi ...
Install VM with virt-manager
Follow one of the VM install test cases for virt-manager. When you get to the final page of the 'New VM' wizard, do the following:
- Click 'Customize before install', then select 'Finish'
- On the 'Overview' screen, Change the 'Firmware' field to select the 'OVMF x86_64' option.
- Click 'Begin Installation'
- Verify the VM installs correctly
Expected Results
Guest installations start and perform without any issues. Guest is bootable after install completes.