On 12/22/20 3:24 AM, Cho, Yu-Chen wrote: > When we choose /usr/share/qemu/bios.bin or /usr/share/qemu/bios-256k.bin > in Customize configuration before install, show this error message: > > Unable to complete install: 'operation failed: unable to find any master var store for loader: /usr/share/qemu/bios.bin' > > Traceback (most recent call last): > File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper > callback(asyncjob, *args, **kwargs) > File "/usr/share/virt-manager/virtManager/createvm.py", line 2081, in _do_async_install > installer.start_install(guest, meter=meter) > File "/usr/share/virt-manager/virtinst/install/installer.py", line 721, in start_install > domain = self._create_guest( > File "/usr/share/virt-manager/virtinst/install/installer.py", line 669, in _create_guest > domain = self.conn.createXML(install_xml or final_xml, 0) > File "/usr/lib64/python3.8/site-packages/libvirt.py", line 4347, in createXML > raise libvirtError('virDomainCreateXML() failed') > libvirt.libvirtError: operation failed: unable to find any master var store for loader: /usr/share/qemu/bios.bin > > This patch check the loader if it is include bios.bin and bios-256k.bin. > > Signed-off-by: Cho, Yu-Chen <acho@xxxxxxxx> Thanks for the patch. Please run pytest --cov and make sure there is not any test or coverage regressions after this patch is applied. > --- > virtManager/object/domain.py | 18 +++++++++--------- > virtinst/guest.py | 13 +++++++++++++ > 2 files changed, 22 insertions(+), 9 deletions(-) > > diff --git a/virtManager/object/domain.py b/virtManager/object/domain.py > index cc2f506d..77590375 100644 > --- a/virtManager/object/domain.py > +++ b/virtManager/object/domain.py > @@ -671,16 +671,16 @@ class vmmDomain(vmmLibvirtObject): > > if loader != _SENTINEL: > if loader is None: > - # Implies seabios, aka the default, so clear everything > - guest.os.loader = None > - guest.os.loader_ro = None > - guest.os.loader_type = None > - guest.os.nvram = None > - guest.os.nvram_template = None > + # Implies the default, so clear everything > + guest.set_legacy_path(None) > else: > - # Implies UEFI > - guest.set_uefi_path(loader) > - guest.disable_hyperv_for_uefi() > + if ("bios.bin" or "bios-256k.bin" in loader): > + # Imlies Custom: seabios, not UEFI Mixing tabs and spaces here which breaks running pytest on my machine. Also Imlies -> Implies - Cole