[PATCH] virtmanager: Fixed the legacy firmware installation error

AL Yu-Chen Cho acho at suse.com
Tue Jan 5 07:27:24 UTC 2021


On Mon, 2021-01-04 at 13:42 -0500, Cole Robinson wrote:
> 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 at suse.com>
> 
> Thanks for the patch. Please run pytest --cov and make sure there is
> not
> any test or coverage regressions after this patch is applied.
> 

ok, I got it.


> > ---
> >  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
> 

Thanks, will submit again with this fixing.

Cheers,
      AL

> - Cole
> 






More information about the virt-tools-list mailing list