[PATCH] virtmanager: Fixed the legacy firmware installation error

Cole Robinson crobinso at redhat.com
Wed Jan 13 17:18:10 UTC 2021


On 1/13/21 1:40 AM, Al Cho wrote:
> Hi,
> 
> That's before the last step during install new VM,
> and there is a checkbutton "Customize Configure before install"
> and Apply after choose Frimware bios.bin or bios-256k.bin, Click "Begin
> Installation"
> show up the error message, list virt-manager --debug output below:
> 
> [Wed, 13 Jan 2021 14:35:14 virt-manager 3983] DEBUG (vmwindow:184)
> Showing VM details: <vmmDomainVirtinst name=opensuse15.2-2
> id=0x7f3b5449b080>
> [Wed, 13 Jan 2021 14:35:14 virt-manager 3983] DEBUG (engine:316) window
> counter incremented to 3
> [Wed, 13 Jan 2021 14:35:20 virt-manager 3983] DEBUG (libvirtobject:48)
> Redefining <vmmDomainVirtinst name=opensuse15.2-2 id=0x7f3b5449b080>
> with XML diff:
> --- Original XML
> +++ New XML
> @@ -11,6 +11,7 @@
>    <vcpu>2</vcpu>
>    <os>
>      <type arch="x86_64" machine="q35">hvm</type>
> +    <loader readonly="yes" type="pflash">/usr/share/qemu/bios.bin</loader>
>      <boot dev="hd"/>
>    </os>
>    <features>
> 
> [Wed, 13 Jan 2021 14:35:25 virt-manager 3983] DEBUG (createvm:1903) User
> finished customize dialog, starting install
> [Wed, 13 Jan 2021 14:35:25 virt-manager 3983] DEBUG (createvm:2000)
> Starting background install process
> [Wed, 13 Jan 2021 14:35:25 virt-manager 3983] DEBUG (installer:599)
> Generated install XML:
> <domain type="kvm">
>   <name>opensuse15.2-2</name>
>   <uuid>e533dfcd-6767-400b-af6a-01de2716c88c</uuid>
>   <metadata>
>     <libosinfo:libosinfo
> xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
>       <libosinfo:os id="http://opensuse.org/opensuse/15.2"/>
>     </libosinfo:libosinfo>
>   </metadata>
>   <memory>2097152</memory>
>   <currentMemory>2097152</currentMemory>
>   <vcpu>2</vcpu>
>   <os>
>     <type arch="x86_64" machine="q35">hvm</type>
>     <loader readonly="yes" type="pflash">/usr/share/qemu/bios.bin</loader>
>     <boot dev="cdrom"/>
>     <boot dev="hd"/>
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>     <vmport state="off"/>
>   </features>
>   <cpu mode="host-model"/>
>   <clock offset="utc">
>     <timer name="rtc" tickpolicy="catchup"/>
>     <timer name="pit" tickpolicy="delay"/>
>     <timer name="hpet" present="no"/>
>   </clock>
>   <on_reboot>destroy</on_reboot>
>   <pm>
>     <suspend-to-mem enabled="no"/>
>     <suspend-to-disk enabled="no"/>
>   </pm>
>   <devices>
>     <emulator>/usr/bin/qemu-system-x86_64</emulator>
>     <disk type="file" device="disk">
>       <driver name="qemu" type="qcow2"/>
>       <source file="/home/linux/image/opensuse15.2"/>
>       <target dev="vda" bus="virtio"/>
>     </disk>
>     <disk type="file" device="cdrom">
>       <driver name="qemu" type="raw"/>
>       <source file="/home/linux/image/openSUSE-Leap-15.2-NET-x86_64.iso"/>
>       <target dev="sda" bus="sata"/>
>       <readonly/>
>     </disk>
>     <controller type="usb" model="qemu-xhci" ports="15"/>
>     <interface type="network">
>       <source network="default"/>
>       <mac address="52:54:00:94:3c:9c"/>
>       <model type="virtio"/>
>     </interface>
>     <console type="pty"/>
>     <channel type="unix">
>       <source mode="bind"/>
>       <target type="virtio" name="org.qemu.guest_agent.0"/>
>     </channel>
>     <channel type="spicevmc">
>       <target type="virtio" name="com.redhat.spice.0"/>
>     </channel>
>     <input type="tablet" bus="usb"/>
>     <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
>       <image compression="off"/>
>     </graphics>
>     <sound model="ich9"/>
>     <video>
>       <model type="qxl"/>
>     </video>
>     <redirdev bus="usb" type="spicevmc"/>
>     <redirdev bus="usb" type="spicevmc"/>
>     <memballoon model="virtio"/>
>     <rng model="virtio">
>       <backend model="random">/dev/urandom</backend>
>     </rng>
>   </devices>
> </domain>
> 
> [Wed, 13 Jan 2021 14:35:25 virt-manager 3983] DEBUG (installer:601)
> Generated boot XML:
> <domain type="kvm">
>   <name>opensuse15.2-2</name>
>   <uuid>e533dfcd-6767-400b-af6a-01de2716c88c</uuid>
>   <metadata>
>     <libosinfo:libosinfo
> xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
>       <libosinfo:os id="http://opensuse.org/opensuse/15.2"/>
>     </libosinfo:libosinfo>
>   </metadata>
>   <memory>2097152</memory>
>   <currentMemory>2097152</currentMemory>
>   <vcpu>2</vcpu>
>   <os>
>     <type arch="x86_64" machine="q35">hvm</type>
>     <loader readonly="yes" type="pflash">/usr/share/qemu/bios.bin</loader>
>     <boot dev="hd"/>
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>     <vmport state="off"/>
>   </features>
>   <cpu mode="host-model"/>
>   <clock offset="utc">
>     <timer name="rtc" tickpolicy="catchup"/>
>     <timer name="pit" tickpolicy="delay"/>
>     <timer name="hpet" present="no"/>
>   </clock>
>   <pm>
>     <suspend-to-mem enabled="no"/>
>     <suspend-to-disk enabled="no"/>
>   </pm>
>   <devices>
>     <emulator>/usr/bin/qemu-system-x86_64</emulator>
>     <disk type="file" device="disk">
>       <driver name="qemu" type="qcow2"/>
>       <source file="/home/linux/image/opensuse15.2"/>
>       <target dev="vda" bus="virtio"/>
>     </disk>
>     <disk type="file" device="cdrom">
>       <target dev="sda" bus="sata"/>
>       <readonly/>
>     </disk>
>     <controller type="usb" model="qemu-xhci" ports="15"/>
>     <interface type="network">
>       <source network="default"/>
>       <mac address="52:54:00:94:3c:9c"/>
>       <model type="virtio"/>
>     </interface>
>     <console type="pty"/>
>     <channel type="unix">
>       <source mode="bind"/>
>       <target type="virtio" name="org.qemu.guest_agent.0"/>
>     </channel>
>     <channel type="spicevmc">
>       <target type="virtio" name="com.redhat.spice.0"/>
>     </channel>
>     <input type="tablet" bus="usb"/>
>     <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
>       <image compression="off"/>
>     </graphics>
>     <sound model="ich9"/>
>     <video>
>       <model type="qxl"/>
>     </video>
>     <redirdev bus="usb" type="spicevmc"/>
>     <redirdev bus="usb" type="spicevmc"/>
>     <memballoon model="virtio"/>
>     <rng model="virtio">
>       <backend model="random">/dev/urandom</backend>
>     </rng>
>   </devices>
> </domain>
> 
> [Wed, 13 Jan 2021 14:35:25 virt-manager 3983] DEBUG (error:101) error
> dialog message:
> summary=Unable to complete install: 'operation failed: unable to find
> any master var store for loader: /usr/share/qemu/bios.bin'
> details=Traceback (most recent call last):
>   File "./virtManager/asyncjob.py", line 65, in cb_wrapper
>     callback(asyncjob, *args, **kwargs)
>   File "./virtManager/createvm.py", line 2001, in _do_async_install
>     installer.start_install(guest, meter=meter)
>   File "./virtinst/install/installer.py", line 701, in start_install
>     domain = self._create_guest(
>   File "./virtinst/install/installer.py", line 649, in _create_guest
>     domain = self.conn.createXML(install_xml or final_xml, 0)
>   File "/usr/lib64/python3.8/site-packages/libvirt.py", line 4366, in
> createXML
>     raise libvirtError('virDomainCreateXML() failed')
> libvirt.libvirtError: operation failed: unable to find any master var
> store for loader: /usr/share/qemu/bios.bin

Okay thanks for clarifying. We populate that firmware box from
domcapabilities <loader> values. Can you attach `sudo virsh
domcapabilities` output?

- Cole




More information about the virt-tools-list mailing list