[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