I've used CentOS 7 as a host for KVM guests for several years now.  I'm using 
the CentOS Virtualization SIG's version of qemu specifically because I was 
anxious/curious to try making VMs with UEFI (OVMF).  I also transitioned to 
using Virtio-SCSI a few years ago, so when I started experimenting with OVMF, I 
used Virtio-SCSI for the block devices, as usual.  In that environment (more 
details below), everything Just Worked.

I'm now experimenting with using Fedora 30 to host guests using KVM.  I have 
successfully create a guest using Q35/OVMF.  I used a VirtIO-SCSI block device, 
as I've done on CentOS in the past.  The guest (Fedora 30 Server) PXE network 
booted in UEFI mode, and correctly installed F30 Server to the block device, 
creating a UEFI System Partition and a GPT disk.

However, it wouldn't boot.  I poked around, comparing the guest made on the F30 
host to the guest made on the C7 host, pressing "F2" when the guest booted to 
get into OVMF's UI. It was there that I realized that OVMF didn't "see" the 
VirtIO-SCSI block device at all.  It didn't list the entire drive it as a boot 
option, and it (obviously) didn't show the UEFI boot entry stored on its UEFI 
System Partition.

I switched the device to a VirtIO device, and it booted right up.

So, now I'm wondering if I've missed something.  Should OVMF be able to 
recognize a VirtIO-SCSI block device on a Fedora 30 KVM host?  Did something 
change between what I've been using on CentOS 7 and here to remove that?  Or 
was I maybe just getting lucky on C7 all along, successfully doing something 
that shouldn't be working?

Below are some of the packages I have installed on my two VM hosts.  The Fedora 
30 host is very standard.  The C7 host has packages from C7's virt SIG, so 
they're newer than the KVM offered in C7's base install.  The base packages 
don't support Q35/OVMF at all.  (Always made me wonder why RHEL 7 included 
OVMF, but no way to use it.)

I noticed that the guest created on CentOS is using this as the UEFI: 
/usr/share/OVMF/OVMF_CODE.secboot.fd but the one created on F30 used 
/usr/share/OVMF/OVMF_CODE.fd instead.  I edited the VM to use 
OVMF_CODE.secboot.fd on the F30's VM, but it still didn't work (the disk was 
still not recognized when I used F2 to enter OVMF's interface).

Fedora 30:
qemu-3.1.1-2.fc30.x86_64
qemu-img-3.1.1-2.fc30.x86_64
qemu-kvm-3.1.1-2.fc30.x86_64
qemu-kvm-core-3.1.1-2.fc30.x86_64
...
edk2-ovmf-20190501stable-2.fc30.noarch

CentOS 7.6:
From CentOS Virt SIG repo:
qemu-img-ev-2.12.0-18.el7_6.7.1.x86_64
qemu-kvm-common-ev-2.12.0-18.el7_6.7.1.x86_64

From CentOS repo:
OVMF-20180508-3.gitee3198e672e2.el7_6.1.noarch
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org

Reply via email to