Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 1.57 KB

Setting up a basic KVM.md

File metadata and controls

57 lines (46 loc) · 1.57 KB

Setting up a Basic KVM

Enable IOMMU in Bootloader
nano /boot/loader/entries/arch.conf add amd_iommu=on iommu=pt to the end of the options Save and Reboot

check IOMMU
sudo dmesg | grep -e DMAR -e IOMMU look for amd_IOMMU:Detected"

check PCI iommu groups
iommuamd.sh run this script, look for your GPU, make sure they are in their own group

IOMMU group 16
0a:00.0 VGA compatible controller \[0300\]: Advanced Micro Devices, Inc. \[AMD/ATI\] Baffin \[Radeon RX 550 640SP / RX 560/560X\] \[1002:67ff\] (rev cf)
Driver: amdgpu
0a:00.1 Audio device \[0403\]: Advanced Micro Devices, Inc. \[AMD/ATI\] Baffin HDMI/DP Audio \[Radeon RX 550 640SP / RX 560/560X\] \[1002:aae0\]
Driver: snd\_hda\_intel

copy it and save it somewhere.

add modprobe module:
sudo nano /etc/modprobe.d/vfio.conf
in vfio.conf add:

options vfio-pci ids=1002:67ff,1002:aae0
options vfio-pci disable_idle_d3=1
options vfio-pci disable_vga=1

ids should be your pci parts ids with , in between

Install required packages
sudo pacman -S qemu libvirt edk2-ovmf virt-manager dnsmasq ebtables iptables bridge-utils

Enable them in init system

sudo systemctl enable libvirtd
sudo systemctl enable virtlogd.socket

Start services

"sudo systemctl start libvirtd"
`sudo systemctl start virtlogd.socket

enable virtual network

sudo virsh net-start default
sudo virsh net-autostart default

open virt-manager and setting up an basic virtual machine without passthrough