Arch Linux PCI Passthrough

2

J'ai installé Arch (Antergos) pour activer la liaison PCI pour KVM Vms, mais si je démarre la machine virtuelle, celle-ci tombe en panne. J'ai suivi ça Didacticiel .

Mon matériel:

  • Carte mère: Asrock H97M Pro4
  • Processeur: CPU Intel® Core ™ i5-4690 à 3,50 GHz × 4
  • GPU MSI GTX760 Twin Frozr
  • RAM: 16 Go
  • Système d'exploitation: Antergos 64Bit

Tout d'abord je

  • activé VT-d dans uefi
  • ajouté intel_iommu = "on" à GRUB_CMDLINE_LINUX_DEFAULT = "" dans / etc / default // grub
  • Grub mis à jour

Mes groupes IOMMU:

00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1]
00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset Family ME Interface #1 [8086:8cba]
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I218-V [8086:15a1]
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad]
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 [8086:8c90] (rev d0)
00:1c.3 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev d0)
00:1c.4 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 [8086:8c98] (rev d0)
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
00:1f.0 ISA bridge [0601]: Intel Corporation 9 Series Chipset Family H97 Controller [8086:8cc6]
00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] [8086:8c82]
00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus Controller [8086:8ca2]
02:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 03)
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 760] [10de:1187] (rev a1)
04:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)

Donc, mon GPU se compose de:

  • Contrôleur VGA: 04: 00.0 (10de: 1187)
  • Contrôleur audio: 04: 00.1 (10de: 0e0a)

Puis j'ai créé le fichier: /etc/modprobe.d/vfio.conf et a écrit

options vfio-pci ids=10de:1187,10de:0e0a

Ensuite, j'ai créé /etc/mkinitcpio.conf et ajouté à MODULES = ""

vfio vfio_iommu_type1 vfio_pci vfio_virqfd

Redémarré ma machine et vérifié si le gpu avait le pilote vfio

lspci -k

04:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2847
    Kernel driver in use: vfio-pci
    Kernel modules: nouveau
04:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2847
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel

Installé des paquets:

pacman -S qemu libvirt virt-manager
yaourt -S ovmf-git

Edité /etc/libvirt/qemu.conf

nvram = [
    "/usr/share/ovmf/x64/ovmf_x64.bin:/usr/share/ovmf/x64/ovmf_vars_x64.bin"
]

libvirt lancé / activé

systemctl enable --now libvirtd
systemctl enable virtlogd.socket

Enfin, j'ai créé une machine virtuelle:

  • Firmware: UEFI
  • CPU: cochée "Copier la configuration de la CPU de l'hôte
  • disque Windows inséré

Maintenant, cela a commencé dans la console virtuelle et tout allait bien! Puis j'ai ajouté mon GPU (les périphériques PCI) et l'ai redémarré. Maintenant, il s'est écrasé et je ne sais pas pourquoi! Il n'y a pas de message d'erreur.

J'espère que vous pourrez m'aider et merci d'essayer

Chaos_
la source

Réponses:

0

Vous n'avez pas lié votre fichier XML, mais je suppose que vous ne chargez pas de ROM pour votre carte vidéo (en supposant que votre carte vidéo prend en charge l'UEFI).

  1. vérifiez que votre carte vidéo prend en charge l'UEFI
  2. Obtenez la vidéo ROM de votre carte

Vous pouvez utiliser https://www.techpowerup.com/vgabios/ faire les deux. Si votre carte n'est pas répertoriée ou que la ROM n'est pas disponible, vous pouvez simplement demander sur le forum de votre fabricant. Voici comment j'ai obtenu une copie de la ROM pour ma carte vidéo afin de résoudre le même problème que vous rencontrez.

Une fois que vous avez le fichier rom, en utilisant virsh edit, essayez d’ajouter ce qui suit dans votre configuration XML.

   <hostdev>
     ...
     <rom file='/etc/fake/boot.bin'/>
     ...
   </hostdev>
driz
la source