Direkt zum Hauptinhalt

Einschalten von vt-d für Intel CPUs (iommu)

Immou aktivieren für Intel CPUs. Hier wird unterschiedn ob es ein UEFI System oder legacy System ist.

Vorrausetzung ist das im BIOS alles mit vt-d eingeschlatet ist und somit das Mainboard und CPU das auch unterstützen.

Überpüfe welches System vorliegt

ls /sys/firmware/efi

Wenn kein Ergebnis vor liegt ist es BIOS legacy boot.

Unter Legacy Boot (also nicht EFI) in der Datei 

nano /etc/default/grub

Dort

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

zu

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on

ändern und

update-grub

 ausführen.

Unter EFI Boot in der Datei

nano /etc/kernel/cmdline 

Dort

root=ZFS=rpool/ROOT/pve-1 boot=zfs

 zu   

root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on

ändern und

pve-efiboot-tool refresh

ausführen.

Module beim start laden. Der Modules Datei anfügen

nano /etc/modules


vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Wenn Grafikkarten durchgereicht werden sollen müssen noch die Treiber geblacklistet werden.
ansonsten kann dieser Teil übersprungen werden.

echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
update-initramfs -u
   


Hier gehts weiter. Wenn der Grafikkarten teil übersprungen wurde.
Nun die Machine neustarten. Ob iommu aktiv ist kann man mittels.

lsmoddmesg | grep vfioIOMMU

festellen.
Ausgabe:

vfio_pci[    163840.028060] 0DMAR: vfio_pci_coreIOMMU 73728enabled
1[    vfio_pci0.090496] vfio_virqfdDMAR-IR: 16384IOAPIC 1 vfio_pci_core
irqbypass              16384id 2 vfio_pci_core,kvmunder vfio_iommu_type1DRHD 40960base  0xfed90000 IOMMU 0
vfio                   45056  2 vfio_pci_core,vfio_iommu_type1

Sollte nichts ausgegeben werden, im bios nochmals schauen ob vt-d aktiv ist.