Can't passthrough IOMMU group on running rebind step
Trying to follow this guide vmra1n but I can't seem to get past the running sudo ./rebind.sh step. When I run it and replace my BDF1 and and PID1 I get this error:
joel@joel-desktop:~/vmra1n$ sudo ./rebind.sh
[sudo] password for joel:
sh: echo: I/O error
./rebind.sh: 8: ./rebind.sh: cannot create /sys/bus/pci/devices/00:1d.0/driver/unbind: Directory nonexistent
sh: echo: I/O error
sh: echo: I/O error
Here is the code for rebind.sh:
BIND_PID1="8086:1e26"
BIND_BDF1="00:1d.0"
#BIND_PID2="10de 0bee"
#BIND_BDF2="0000:01:00.1"
sudo modprobe vfio-pci
echo "$BIND_PID1" > /sys/bus/pci/drivers/vfio-pci/new_id
echo "$BIND_BDF1" > /sys/bus/pci/devices/$BIND_BDF1/driver/unbind
echo "$BIND_BDF1" > /sys/bus/pci/drivers/vfio-pci/bind
echo "$BIND_PID1" > /sys/bus/pci/drivers/vfio-pci/remove_id
Already troubleshooted the basics (i.e checking VT-d and VT-x is enabled, adding iommu=pt intel_iommu=on in my grub config and running sudo update-grub then rebooting.)
Heres what my grub config file looks like:
cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt intel_iommu=on"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
8086:1e26 should be with a space, not a colon, you must also keep all the zeros.
BIND_PID1="10de 0bee"
BIND_BDF1="0000:00:1d.0"
oh wow that fixed it thanks, but now i cant boot my macos install that i had done earlier (did it on virt manager) can't i attatch my virt disk named catalina.qcow2 to the kvm to run it there?
Hey I got it, I added this line of code to add the catalina.qcow2 as id=BootDisk
-drive id=BootDisk,if=none,file=catalina.qcow2 \
-device ide-hd,bus=sata.5,drive=BootDisk \