Puncte:0

trecerea nic la oaspete în qemu folosind iommu & vfio

drapel gb

Am cumpărat un adaptor de rețea cu 4 porturi PCIe (Adaptor de server Intel E1G44HT 10/100/1000Mbps PCI-Express 2.0 I340-T4)

Încerc să-l instalez în stația mea de lucru hpZ600 și să-l transmit VM-ului meu invitat

Rulez Artix Linux, dar în mare parte urmez instrucțiuni pentru Arch Linux.

Problema este că nu pot transmite cardul la VM-ul meu.

Iată ce am făcut până acum:

Mai întâi îmi actualizez implicit/grub

$ sudo -E nvim /etc/default/grub
...
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 silențios intel_iommu=on iommu=pt vfio-pci.ids=8086:150e"
...

Apoi îmi refac configurația grub

sudo grub-mkconfig -o /boot/grub/grub.cfg

Repornesc și mă asigur că lucrurile funcționează

sudo reboot -h acum

Verific rezultatul dmesg

sudo dmesg | grep -i -e DMAR -e IOMMU
[ 0.000000] Linie de comandă: BOOT_IMAGE=/vmlinuz-linux root=UUID=095a0572-cdd9-402c-80b7-425724b3cf65 rw loglevel=3 quiet intel_iommu=on iommu=pt vfio-pci.ids:=150e86:150e8
[ 0,013145] ACPI: DMAR 0x00000000DEFB8F83 000170 (v01 HPQOEM TYLSBURG 00000001 00000000)
[ 0.013171] ACPI: Rezervarea memoriei tabelului DMAR la [mem 0xdefb8f83-0xdefb90f2]
[ 0.064149] Linia de comandă a kernelului: BOOT_IMAGE=/vmlinuz-linux root=UUID=095a0572-cdd9-402c-80b7-425724b3cf65 rw loglevel=3 quiet intel_iommu=on iommu=pt vfio-pci86:15800e86.
[ 0.064257] DMAR: IOMMU activat
[ 0.064301] Parametrii necunoscuți ai liniei de comandă a nucleului „BOOT_IMAGE=/vmlinuz-linux intel_iommu=on”, vor fi transferați în spațiul utilizatorului.
[ 0.166858] DMAR-IR: BIOS-ul acestui sistem a activat remaparea întreruperii
[ 0.455454] iommu: Tipul de domeniu implicit: Passthrough (setat prin linia de comandă a nucleului)
[ 0.485787] DMAR: lățimea adresei gazdei 40
[ 0,485788] DMAR: DRHD bază: 0x000000fed90000 steaguri: 0x1
[ 0.485799] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c90780106f0462 ecap f02076
[ 0,485802] DMAR: RMRR de bază: 0x000000defd0000 final: 0x000000defd0fff
[ 0,485804] DMAR: RMRR de bază: 0x000000defd1000 final: 0x000000defd1fff
[ 0,485805] DMAR: RMRR de bază: 0x000000defd2000 final: 0x000000defd2fff
[ 0,485807] DMAR: RMRR de bază: 0x000000defd3000 final: 0x000000defd3fff
[ 0,485808] DMAR: RMRR de bază: 0x000000defd4000 final: 0x000000defd4fff
[ 0,485809] DMAR: RMRR de bază: 0x000000defd5000 final: 0x000000defd5fff
[ 0,485811] DMAR: RMRR de bază: 0x000000defd6000 final: 0x000000defd6fff
[ 0,485812] DMAR: RMRR de bază: 0x000000defd7000 final: 0x000000defd7fff
[ 0.485813] DMAR: steaguri ATSR: 0x0
[ 0,485838] DMAR: Nu a fost găsit niciun SATC
[ 0.485852] DMAR: dmar0: se utilizează invalidarea în coadă
[ 0.485953] pci 0000:00:00.0: Adăugarea la grupul iommu 0
[ 0.485973] pci 0000:00:01.0: Adăugarea la grupul iommu 1
[ 0.485990] pci 0000:00:03.0: Adăugarea la grupul iommu 2
[ 0.486007] pci 0000:00:07.0: Adăugarea la grupul iommu 3
[ 0.486043] pci 0000:00:10.0: Adăugarea la grupul iommu 4
[ 0.486061] pci 0000:00:10.1: Adăugarea la grupul iommu 4
[ 0.486096] pci 0000:00:11.0: Adăugarea la grupul iommu 5
[ 0.486112] pci 0000:00:11.1: Adăugarea la grupul iommu 5
[ 0.486130] pci 0000:00:14.0: Adăugarea la grupul iommu 6
[ 0.486148] pci 0000:00:14.1: Adăugarea la grupul iommu 7
[ 0.486167] pci 0000:00:14.2: Adăugarea la grupul iommu 8
[ 0.486194] pci 0000:00:15.0: Adăugarea la grupul iommu 9
[ 0.486248] pci 0000:00:1a.0: Adăugarea la grupul iommu 10
[ 0.486265] pci 0000:00:1a.1: Adăugarea la grupul iommu 10
[ 0.486282] pci 0000:00:1a.2: Adăugarea la grupul iommu 10
[ 0.486300] pci 0000:00:1a.7: Adăugarea la grupul iommu 10
[ 0.486317] pci 0000:00:1b.0: Adăugarea la grupul iommu 11
[ 0.486353] pci 0000:00:1c.0: Adăugarea la grupul iommu 12
[ 0.486371] pci 0000:00:1c.5: Adăugarea la grupul iommu 12
[ 0.486425] pci 0000:00:1d.0: Adăugarea la grupul iommu 13
[ 0.486444] pci 0000:00:1d.1: Adăugarea la grupul iommu 13
[ 0.486462] pci 0000:00:1d.2: Adăugarea la grupul iommu 13
[ 0.486479] pci 0000:00:1d.7: Adăugarea la grupul iommu 13
[ 0.486496] pci 0000:00:1e.0: Adăugarea la grupul iommu 14
[ 0.486531] pci 0000:00:1f.0: Adăugarea la grupul iommu 15
[ 0.486551] pci 0000:00:1f.2: Adăugarea la grupul iommu 15
[ 0.486572] pci 0000:03:00.0: Adăugarea la grupul iommu 16
[ 0.486591] pci 0000:03:00.1: Adăugarea la grupul iommu 17
[ 0.486612] pci 0000:03:00.2: Adăugarea la grupul iommu 18
[ 0.486630] pci 0000:03:00.3: Adăugarea la grupul iommu 19
[ 0.486652] pci 0000:0f:00.0: Adăugarea la grupul iommu 20
[ 0.486658] pci 0000:01:00.0: Adăugarea la grupul iommu 12
[ 0.486693] pci 0000:3f:00.0: Adăugarea la grupul iommu 21
[ 0.486713] pci 0000:3f:00.1: Adăugarea la grupul iommu 21
[ 0.486767] pci 0000:3f:02.0: Adăugarea la grupul iommu 22
[ 0.486787] pci 0000:3f:02.1: Adăugarea la grupul iommu 22
[ 0.486806] pci 0000:3f:02.4: Adăugarea la grupul iommu 22
[ 0.486825] pci 0000:3f:02.5: Adăugarea la grupul iommu 22
[ 0.486878] pci 0000:3f:03.0: Adăugarea la grupul iommu 23
[ 0.486897] pci 0000:3f:03.1: Adăugarea la grupul iommu 23
[ 0.486916] pci 0000:3f:03.2: Adăugarea la grupul iommu 23
[ 0.486935] pci 0000:3f:03.4: Adăugarea la grupul iommu 23
[ 0.486989] pci 0000:3f:04.0: Adăugarea la grupul iommu 24
[ 0.487009] pci 0000:3f:04.1: Adăugarea la grupul iommu 24
[ 0.487028] pci 0000:3f:04.2: Adăugarea la grupul iommu 24
[ 0.487047] pci 0000:3f:04.3: Adăugarea la grupul iommu 24
[ 0.487100] pci 0000:3f:05.0: Adăugarea la grupul iommu 25
[ 0.487120] pci 0000:3f:05.1: Adăugarea la grupul iommu 25
[ 0.487143] pci 0000:3f:05.2: Adăugarea la grupul iommu 25
[ 0.487163] pci 0000:3f:05.3: Adăugarea la grupul iommu 25
[ 0.487216] pci 0000:3f:06.0: Adăugarea la grupul iommu 26
[ 0.487236] pci 0000:3f:06.1: Adăugarea la grupul iommu 26
[ 0.487276] pci 0000:3f:06.2: Adăugarea la grupul iommu 26
[ 0.487298] pci 0000:3f:06.3: Adăugarea la grupul iommu 26
[ 0.487335] pci 0000:3e:00.0: Adăugarea la grupul iommu 27
[ 0.487356] pci 0000:3e:00.1: Adăugarea la grupul iommu 27
[ 0.487408] pci 0000:3e:02.0: Adăugarea la grupul iommu 28
[ 0.487429] pci 0000:3e:02.1: Adăugarea la grupul iommu 28
[ 0.487451] pci 0000:3e:02.4: Adăugarea la grupul iommu 28
[ 0.487472] pci 0000:3e:02.5: Adăugarea la grupul iommu 28
[ 0.487527] pci 0000:3e:03.0: Adăugarea la grupul iommu 29
[ 0.487549] pci 0000:3e:03.1: Adăugarea la grupul iommu 29
[ 0.487571] pci 0000:3e:03.2: Adăugarea la grupul iommu 29
[ 0.487593] pci 0000:3e:03.4: Adăugarea la grupul iommu 29
[ 0.487647] pci 0000:3e:04.0: Adăugarea la grupul iommu 30
[ 0.487669] pci 0000:3e:04.1: Adăugarea la grupul iommu 30
[ 0.487692] pci 0000:3e:04.2: Adăugarea la grupul iommu 30
[ 0.487716] pci 0000:3e:04.3: Adăugarea la grupul iommu 30
[ 0.487770] pci 0000:3e:05.0: Adăugarea la grupul iommu 31
[ 0.487793] pci 0000:3e:05.1: Adăugarea la grupul iommu 31
[ 0.487816] pci 0000:3e:05.2: Adăugarea la grupul iommu 31
[ 0.487838] pci 0000:3e:05.3: Adăugarea la grupul iommu 31
[ 0.487896] pci 0000:3e:06.0: Adăugarea la grupul iommu 32
[ 0.487922] pci 0000:3e:06.1: Adăugarea la grupul iommu 32
[ 0.487946] pci 0000:3e:06.2: Adăugarea la grupul iommu 32
[ 0.487969] pci 0000:3e:06.3: Adăugarea la grupul iommu 32
[ 0.488088] DMAR: Tehnologia de virtualizare Intel(R) pentru I/O direcționată
[ 0.520152] AMD-Vi: driver AMD IOMMUv2 de Joerg Roedel <[email protected]>
[ 0.520153] AMD-Vi: funcționalitatea AMD IOMMUv2 nu este disponibilă pe acest sistem
[ 1.253336] intel_iommu=on
[ 64.058649] vfio_iommu_type1_attach_group: Fără suport pentru remaparea întreruperii. Utilizați parametrul modulului „allow_unsafe_interrupts” pentru a activa suportul VFIO IOMMU pe această platformă

Am folosit scenariul de la arh wiki pentru a asigura grupurile mele:

...
IOMMU Grupa 16:
     03:00.0 Controller Ethernet [0200]: Intel Corporation 82580 Gigabit Netork Connection [8086:150e] (rev 01)
IOMMU Grupa 17:
     03:00.1 Controller Ethernet [0200]: Intel Corporation 82580 Gigabit Netork Connection [8086:150e] (rev 01)
IOMMU Grupa 18:
     03:00.2 Controler Ethernet [0200]: Intel Corporation 82580 Gigabit Netork Connection [8086:150e] (rev 01)
IOMMU Grupa 19:
     03:00.3 Controller Ethernet [0200]: Intel Corporation 82580 Gigabit Netork Connection [8086:150e] (rev 01)
...

Și îmi verific grupurile vfio

ls /dev/vfio
16 17 18 19 vfio

Și îmi lansez VM

qemu-system-x86_y4 \
   -m 8G \
   -enable-kvm \
   -gazdă CPU \
   -smp 2 \
   -net nici unul \
   -device vfio-pci,host=03:00.0,id=net0 \
   -vga virtio -display gtk,gl=on \
   -Drive format=qcow2,file=disk.cow,index=0,if=virtio\
   -drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd \
   -drive if=pflash,format=raw,fișier=uefi_vars.fd

rezultând următoarea eroare:

qemu-system-x86_64: -device vfio-pci,host=03:00.0,id=net0: vfio 0000:03:00.0: eșuat la configurarea containerului pentru grupul 16: eșuat la setarea iommu pentru container: operațiunea nu este permisă

Nu sunt sigur ce să fac în continuare. Ceva gânduri?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.