Como posso alterar a arquitetura de máquinas Qemu KVM de 440fx para q35 com o virt-manager ou virt-manager?

4

Ainda tentando obter passagem de GPU funcionando e decidi mudar o tipo de máquina de 440fx mais antigo para q35 ie pc-q35 mas se eu fizer virsh editar na configuração ele se recusar a salvar dizendo "Pontes PCI não suportadas" ... por atual binário do qemu. O que preciso corrigir / alterar no arquivo xml da máquina virtual?

Depois de algumas pesquisas, parece q35 só permite PCIe PCIe PCIe não PCI, mas eu não sei o que mudar no meu arquivo xml para que virsh pára de reclamar e aceita mudar de 440fx para q35.

Isso está no Debian Jessie: uname -a Linux vmserver 3.16.0-customvmkernel # 1 SMP Sun 28 de setembro 00:34:42 PDT 2014 x86_64 GNU / Linux

kvm --version Emulador QEMU versão 2.1.0 (Debian 2.1 + dfsg-4)

Aqui está meu arquivo de máquina virtual atual com 440fx que desejo alterar para q35:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>Win7enterprise32bit</name>
<uuid>77599af9-35a3-45e1-9fce-74304f7d7a9c</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='i686' machine='pc-i440fx-2.1'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
  <driver name='qemu' type='vmdk'/>
  <source file='/mount/ssd/VirtWin7-clone.vmdk'/>
  <target dev='vdb' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>
<controller type='usb' index='0'>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='ide' index='0'>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<interface type='bridge'>
  <mac address='52:54:00:9e:f5:11'/>
  <source bridge='br0'/>
  <model type='rtl8139'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
  <target port='0'/>
</serial>
<console type='pty'>
  <target type='serial' port='0'/>
</console>
<input type='tablet' bus='usb'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<sound model='ac97'>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
  <model type='cirrus' vram='9216' heads='1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</memballoon>
</devices>
<qemu:commandline>
<qemu:arg value='-nodefaults'/>
<qemu:arg value='-vga'/>
<qemu:arg value='none'/>
<qemu:arg value='-device'/>
<qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=04:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on,rombar=0'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=04:00.1,bus=root.1,addr=00.1'/>
<qemu:arg value='-bios'/>
<qemu:arg value='/usr/share/seabios/bios.bin'/>
<qemu:arg value='-cpu'/>
<qemu:arg value='host,kvm=off'/>
</qemu:commandline>
</domain>
    
por htfree 17.10.2014 / 23:58

4 respostas

3

Existe um patch disponível para o problema subjacente (sendo que o QEMU não permitirá que você se vincule a um root bus PCIe, que é necessário para os convidados do Windows no Q35):

link

    
por 10.11.2015 / 02:17
2

O virt-manager (1.1.0) mais recente suporta a configuração da arquitetura na criação de VMs. Você não pode mudar depois.

Com virsh edit , estou supondo um pouco, mas tentaria remover o controlador PCI e todos os parâmetros relacionados ao barramento (como <address /> . E mudando

<type arch='i686' machine='pc-i440fx-2.1'>hvm</type>

para

<type arch='i686' machine='pc-q35'>hvm</type>

Normalmente eu ofereço isso em um comentário, já que é mais um palpite, mas é muito longo. Vou removê-lo se não funcionar.

entre. aqueles <qemu:arg /> no final podem estar causando problemas também. Se você tiver problemas, tente removê-los também.

    
por 22.03.2015 / 19:00
1

Tente em vez de pc-i440fx-2.1 acima

Veja um exemplo no link

Eu rodaria o qemu manualmente com -M q35 ou -M? para verificar a versão que você instalou realmente suporta isso

hth

    
por 20.10.2014 / 17:31
1

Eu só fiz isso hoje - praticamente como descrito 'Fox', exceto alterar a entrada do controlador pci em vez de excluí-lo - mudando 'pci-root' para 'pcie-root'

Em seguida, ele reclamará de qualquer coisa com um parâmetro relacionado ao barramento - acho que você pode deixar o item, mas remover a especificação. Eu também tive que remover USB-relacionados entradas (o controlador piix3 integrado requer um barramento PCI, ou algo para esse efeito).

Não tenho certeza se você ainda está tentando fazer isso - mas eu pensei que eu colocaria para qualquer pessoa que pesquisar por isso.

    
por 01.04.2015 / 03:30