[SOLVED] Pass-through failure with ZFS RAID1 and other complexities.

Nirgal

New Member
Aug 24, 2023
5
0
1
Hi,
Sorry for my poor English. I installed PVE8.0 on a ZFS RAID1 with 2 NVME SSDs. My motherboard is X11SSM-F, which does not support booting from NVME SSD, so I added a SATA SSD and cloned the BIOS boot partition and EFI partition into it. Now the system can start up correctly, but when I went to configure pass-through, something went wrong.

I edited /etc/default/grub, chenged GRUB_CMDLINE_LINUX_DEFAULT="quiet" to GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on", then I executed update-grub. It warned me:
W: This system is booted via proxmox-boot-tool: W: Executing 'update-grub' directly does not update the correct configs! W: Running: 'proxmox-boot-tool refresh'
So I executed proxmox-boot-tool refresh as well.
Then I reboot the system and try to start a VM which has a passed-through SATA controller, but it failed with
TASK ERROR: cannot prepare PCI pass-through, IOMMU not present. Then I re-cloned the BIOS boot partition and EFI partition into that SATA SSD (using dd) and reboot, but it came with the same error as before when I try to start the VM.

Now I have no idea what to do.
 
What is the output of cat /proc/cmdline? Maybe your change is not active or VT-d is not fully enabled in the motherboard BIOS.
Here's the output:
initrd=\EFI\proxmox\6.2.16-10-pve\initrd.img-6.2.16-10-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs
I'm sure VT-d is enabled. How do I know if my change is active?
 
Here's the output:
initrd=\EFI\proxmox\6.2.16-10-pve\initrd.img-6.2.16-10-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs
I'm sure VT-d is enabled. How do I know if my change is active?
intel_iommu=on is missing and therefore IOMMU is not activated in Linux/Proxmox. My guess is that your Proxmox uses systemd-boot instead of GRUB. Please see the manual on how to check. So very many threads on this forum about this... Make sure to edit the right configuration file in the right way. Please see the manual on editting the kernel command line. There is also a whole section on PCI(e) passthrough (but ignore the mistake about kernels later than 5.14, you still need intel_iommu=on). Or check out one of the many threads about enabling IOMMU and systemd-boot versus GRUB.
 
  • Like
Reactions: Nirgal
intel_iommu=on is missing and therefore IOMMU is not activated in Linux/Proxmox. My guess is that your Proxmox uses systemd-boot instead of GRUB. Please see the manual on how to check. So very many threads on this forum about this... Make sure to edit the right configuration file in the right way. Please see the manual on editting the kernel command line. There is also a whole section on PCI(e) passthrough (but ignore the mistake about kernels later than 5.14, you still need intel_iommu=on). Or check out one of the many threads about enabling IOMMU and systemd-boot versus GRUB.
Thank you. I will try to solve it.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!