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?