foxlet / vmra1n

Guide on setting up checkra1n in QEMU.
63 stars 24 forks source link

Can't passthrough IOMMU group on running rebind step #10

Open xyperrr opened 4 years ago

xyperrr commented 4 years ago

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"
foxlet commented 4 years ago

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"
xyperrr commented 4 years ago

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?

xyperrr commented 4 years ago

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 \