unable to find any master var store for loader error

daggs daggs at gmx.com
Tue Oct 13 12:25:33 UTC 2020


Greetings Michal,

> Sent: Tuesday, October 13, 2020 at 2:51 PM
> From: "Michal Privoznik" <mprivozn at redhat.com>
> To: "daggs" <daggs at gmx.com>, libvirt-users at redhat.com
> Subject: Re: unable to find any master var store for loader error
>
> Hey,
>
> I'll paste the interesting part of domain XML here so that it doesn't
> get lost:
>
>    <os>
>      <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
>      <loader readonly='yes'
> type='pflash'>/usr/share/edk2-ovmf/OVMF_CODE.fd</loader>
>      <nvram>/var/lib/libvirt/qemu/nvram/vm1_VARS.fd</nvram>
>      <boot dev='hd'/>
>    </os>
>
> And then in qemu.conf you define the pair:
>
> nvram = [
> 	"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd",
> 	"/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd:/usr/share/edk2-ovmf/OVMF_VARS.secboot.fd"
> ]
>
> But as the comment in qemu.conf (just above your line) says, this is
> ignored if FW metadata files exist which is exactly your case and this bug:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1763477
>
> For your convenience you can switch to <os firmware='efi'/> (the
> <loader/> element will be removed automatically) or if you insist on
> using the old style then provide @template attribute to <nvram/>:
>
> <nvram
> template="/usr/share/edk2-ovmf/OVMF_CODE.fd">/var/lib/libvirt/qemu/nvram/vm1_VARS.fd</nvram>
>
>
> There is an internal list that is still consulted when finding matching
> _VARS fails, but your path is not on it:
>
> https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_conf.c#L98
>
> But it exists mostly to give distros enough time to switch to FW
> descriptors.
>
> Michal
>
>

thanks for the detailed explanation, I wanted to be sure I understand. the following is needed to be done:
1. replace this:
<os>
  <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
  <loader readonly='yes' type='pflash'>/usr/share/edk2-ovmf/OVMF_CODE.fd</loader>
  <nvram>/var/lib/libvirt/qemu/nvram/vm1_VARS.fd</nvram>
  <boot dev='hd'/>
</os>
to this:
<os firmware='efi'/>
  <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
  <boot dev='hd'/>
</os>
2. patch qemu_conf.c to include the custom paths of my fd files?

Thanks,

Dagg.





More information about the libvirt-users mailing list