virt-manager:无法创建 sparc64 虚拟机

virt-manager:无法创建 sparc64 虚拟机

操作系统:Ubuntu 20.04.3 virt-manager 版本:2.2.1

每当我去制作 sparc64 vm 时都会收到此错误消息

Unable to complete install: 'internal error: process exited while connecting to monitor: 2021-10-15T02:48:09.558938Z qemu-system-sparc64: -device piix3-usb-uhci,id=usb,bus=pci,addr=0x2: PCI: slot 2 function 0 not available for piix3-usb-uhci, reserved'

我无法移除此 USB 控制器设备,如果我右键单击控制器并将其移除,它会立即重生。如果我在概览或设备本身上删除此 USB 控制器的 XML 条目,它也会立即重生。如果我尝试更改地址、插槽或功能,它会给出相同的错误消息或显示“由 pbm-bridge 使用”。

是的,我安装了 qemu-system-sparc,是的,我安装了 openbios-sparc,是的,让它工作的唯一方法是使用 qemu,不涉及 virt-manager,但我想使用 virt-manager 以方便使用和访问。我也不知道如何使用 virsh 修改它,因为当我列出虚拟机时,我什么也得不到,尽管 virt-manager 中有 2 个虚拟机。

我也尝试过用谷歌搜索这个问题,但没有结果。

答案1

这可能是 libvirt 针对 sparc64 的 PCI 地址分配逻辑中的一个错误。不幸的是,这并不完全令人惊讶,因为 sparc64 现在很少受到关注,因此没有经过很好的测试。我鼓励您将此问题报告给 libvirt 的上游错误跟踪器。

答案2

您必须model=none在 usb 行上指定并删除addressUSB 的任何部分,如下所示:

    <controller type='usb' index='0' model='none'/>

下面的 XML 对我有用:

qemu sparc64 启动

<domain type='qemu'>
  <name>debian12-sparc64</name>
  <uuid>d2263087-f38a-470d-816e-4c885d1dd1c6</uuid>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='sparc64' machine='sun4u'>hvm</type>
    <boot dev='hd'/>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-sparc64</emulator>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='usb' index='0' model='none'/>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <audio id='1' type='none'/>
    <memballoon model='none'/>
  </devices>
</domain>

相关内容