possible bug in efi detection for guest

Michal Prívozník mprivozn at redhat.com
Tue Oct 20 12:40:21 UTC 2020


On 10/20/20 11:39 AM, daggs wrote:
> Greetings All,
> 
> following a suggestion I got here on how to properly boot uefi-q35 guest, I found an weird config in the xml.
> this is what I see when I run virsh edit streamer-vm-q35:
> <os firmware='efi'>
>    <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
>    <boot dev='hd'/>
> </os>
> 
> when I run virsh dumpxml streamer-vm-q35, I get this:
> <os>
>    <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
>    <loader readonly='yes' type='pflash'>/usr/share/qemu/edk2-x86_64-secure-code.fd</loader>
>    <nvram template='/usr/share/qemu/edk2-i386-vars.fd'>/var/lib/libvirt/qemu/nvram/streamer-vm-q35_VARS.fd</nvram>
>    <boot dev='hd'/>
> </os>
> 
> question is, why the nvram template is /usr/share/qemu/edk2-i386-vars.fd and not /usr/share/qemu/edk2-x86_64-code.fd (file exists) as the system is x64?
> 

IIRC you're using gentoo, which is what I happen to have too :-)
And looking into my system I can see this file:

   /usr/share/qemu/firmware/50-edk2-x86_64-secure.json

which defines this pair:

{
     "mapping": {
         "device": "flash",
         "executable": {
             "filename": "/usr/share/qemu/edk2-x86_64-secure-code.fd",
             "format": "raw"
         },
         "nvram-template": {
             "filename": "/usr/share/qemu/edk2-i386-vars.fd",
             "format": "raw"
         }
     },
}


I'm not sure if this is a bug though. The NVRAM has a defined structure 
and possibly is 32/64bit agnostic (on Intel at least).

Michal




More information about the libvirt-users mailing list