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