Help with Pci passthrough.

puertorico

Renowned Member
Mar 30, 2014
40
8
73
The hardware is a HP ProLiant ML310e Gen8 v2 Server with Intel Xeon 1231v2 with one intel nic attached to a pci-e slot. (i tried all ports)
iam running the new 4.0 version. i followed this guide, https://pve.proxmox.com/wiki/Pci_passthrough


Things i have done:


1: Enable vt-d in bios
2: edited grub with "GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
3. update-grub and reboted
4. found the pci id with lspci: 0b:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection


5. added those lines in /etc/pve/qemuserver/101.cfg


Code:
bootdisk: ide0
cores: 1
ide0: local:100/vm-100-disk-1.qcow2,cache=writethrough,size=32G
ide2: none,media=cdrom
memory: 4096
name: 110
numa: 0
ostype: l26
smbios1: uuid=e81d7cf1-8363-4571-b9cb-5266a61d99d8
sockets: 1
machine:q35
hostpci0: 0b:00.0,pcie=1,driver=vfio

The result is that the vm don't start and the gui output errors.
when the server first starts i can see the nic, under the host configuration as eth2, but when i start the vm from the gui, the network device is detached from the host, so something defiantly happens.
i have also tried another nic from another vendor this makes the server crash.

with the intel nic i get this output from the gui:


Code:
unknown hostpci setting 'driver=vfio'
unknown hostpci setting 'driver=vfio'
Running as unit 100.scope.
kvm: -device vfio-pci,host=0b:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0: vfio: failed to set iommu for container: Operation not permitted
kvm: -device vfio-pci,host=0b:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0: vfio: failed to setup container for group 11
kvm: -device vfio-pci,host=0b:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0: vfio: failed to get group 11
kvm: -device vfio-pci,host=0b:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0: Device initialization failed
TASK ERROR: start failed: command '/usr/bin/systemd-run --scope --slice qemu --unit 100 -p 'CPUShares=1000' /usr/bin/kvm -id 100 -chardev 'socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/100.vnc,x509,password -pidfile /var/run/qemu-server/100.pid -daemonize -smbios 'type=1,uuid=e81d7cf1-8363-4571-b9cb-5266a61d99d8' -name 110 -smp '1,sockets=1,cores=1,maxcpus=1' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000' -vga cirrus -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,-kvm_steal_time,enforce -m 4096 -k da -readconfig /usr/share/qemu-server/pve-q35.cfg -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' -device 'vfio-pci,host=0b:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:398bc71b738' -drive 'file=/var/lib/vz/images/100/vm-100-disk-1.qcow2,if=none,id=drive-ide0,cache=writethrough,format=qcow2,aio=threads,detect-zeroes=on' -device 'ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=100' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -machine 'type=q35'' failed: exit code 1



when running dmesg | grep -e DMAR -e IOMMU output:


Code:
root@vmcluster:~# dmesg | grep -e DMAR -e IOMMU
[    0.000000] ACPI: DMAR 0x00000000B5DE4A80 00042C (v01 HP     ProLiant 00000001 \xffffffd2?   0000162E)
[    0.000000] DMAR: IOMMU enabled
[    0.024810] DMAR: Host address width 39
[    0.024811] DMAR: DRHD base: 0x000000fed90000 flags: 0x1
[    0.024815] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c9008020660262 ecap f010da
[    0.024816] DMAR: RMRR base: 0x000000b5ffd000 end: 0x000000b5ffffff
[    0.024817] DMAR: RMRR base: 0x000000b5ff6000 end: 0x000000b5ffcfff
[    0.024818] DMAR: RMRR base: 0x000000b5f93000 end: 0x000000b5f94fff
[    0.024818] DMAR: RMRR base: 0x000000b5f8f000 end: 0x000000b5f92fff
[    0.024820] DMAR: RMRR base: 0x000000b5f7f000 end: 0x000000b5f8efff
[    0.024821] DMAR: RMRR base: 0x000000b5f7e000 end: 0x000000b5f7efff
[    0.024822] DMAR: RMRR base: 0x000000000f4000 end: 0x000000000f4fff
[    0.024823] DMAR: RMRR base: 0x000000000e8000 end: 0x000000000e8fff
[    0.024824] DMAR: RMRR base: 0x000000b5dee000 end: 0x000000b5deefff
[    0.024825] DMAR: RMRR base: 0x000000c0000000 end: 0x000000dfffffff
[    0.024826] DMAR-IR: IOAPIC id 8 under DRHD base  0xfed90000 IOMMU 0
[    0.024827] DMAR-IR: HPET id 0 under DRHD base 0xfed90000
[    0.024828] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[    0.024829] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[    0.024978] DMAR-IR: Enabled IRQ remapping in xapic mode
[    0.468166] DMAR: No ATSR found
[    0.468236] DMAR: dmar0: Using Queued invalidation
[    0.468243] DMAR: Setting RMRR:
[    0.468251] DMAR: Setting identity map for device 0000:08:00.0 [0xc0000000 - 0xdfffffff]
[    0.470328] DMAR: Setting identity map for device 0000:02:00.0 [0xc0000000 - 0xdfffffff]
[    0.472389] DMAR: Setting identity map for device 0000:0b:00.0 [0xc0000000 - 0xdfffffff]
[    0.474452] DMAR: Setting identity map for device 0000:03:00.0 [0xc0000000 - 0xdfffffff]
[    0.476517] DMAR: Setting identity map for device 0000:03:00.1 [0xc0000000 - 0xdfffffff]
[    0.478575] DMAR: Setting identity map for device 0000:01:00.0 [0xc0000000 - 0xdfffffff]
[    0.480638] DMAR: Setting identity map for device 0000:01:00.2 [0xc0000000 - 0xdfffffff]
[    0.482692] DMAR: Setting identity map for device 0000:01:00.0 [0xb5dee000 - 0xb5deefff]
[    0.482699] DMAR: Setting identity map for device 0000:01:00.2 [0xb5dee000 - 0xb5deefff]
[    0.482710] DMAR: Setting identity map for device 0000:01:00.4 [0xb5dee000 - 0xb5deefff]
[    0.482717] DMAR: Setting identity map for device 0000:08:00.0 [0xe8000 - 0xe8fff]
[    0.482725] DMAR: Setting identity map for device 0000:02:00.0 [0xe8000 - 0xe8fff]
[    0.482732] DMAR: Setting identity map for device 0000:0b:00.0 [0xe8000 - 0xe8fff]
[    0.482739] DMAR: Setting identity map for device 0000:03:00.0 [0xe8000 - 0xe8fff]
[    0.482746] DMAR: Setting identity map for device 0000:03:00.1 [0xe8000 - 0xe8fff]
[    0.482753] DMAR: Setting identity map for device 0000:01:00.0 [0xe8000 - 0xe8fff]
[    0.482760] DMAR: Setting identity map for device 0000:01:00.2 [0xe8000 - 0xe8fff]
[    0.482766] DMAR: Setting identity map for device 0000:08:00.0 [0xf4000 - 0xf4fff]
[    0.482768] DMAR: Setting identity map for device 0000:02:00.0 [0xf4000 - 0xf4fff]
[    0.482769] DMAR: Setting identity map for device 0000:0b:00.0 [0xf4000 - 0xf4fff]
[    0.482770] DMAR: Setting identity map for device 0000:03:00.0 [0xf4000 - 0xf4fff]
[    0.482771] DMAR: Setting identity map for device 0000:03:00.1 [0xf4000 - 0xf4fff]
[    0.482773] DMAR: Setting identity map for device 0000:01:00.0 [0xf4000 - 0xf4fff]
[    0.482774] DMAR: Setting identity map for device 0000:01:00.2 [0xf4000 - 0xf4fff]
[    0.482775] DMAR: Setting identity map for device 0000:08:00.0 [0xb5f7e000 - 0xb5f7efff]
[    0.482782] DMAR: Setting identity map for device 0000:02:00.0 [0xb5f7e000 - 0xb5f7efff]
[    0.482789] DMAR: Setting identity map for device 0000:0b:00.0 [0xb5f7e000 - 0xb5f7efff]
[    0.482796] DMAR: Setting identity map for device 0000:03:00.0 [0xb5f7e000 - 0xb5f7efff]
[    0.482802] DMAR: Setting identity map for device 0000:03:00.1 [0xb5f7e000 - 0xb5f7efff]
[    0.482809] DMAR: Setting identity map for device 0000:01:00.0 [0xb5f7e000 - 0xb5f7efff]
[    0.482813] DMAR: Setting identity map for device 0000:01:00.2 [0xb5f7e000 - 0xb5f7efff]
[    0.482817] DMAR: Setting identity map for device 0000:08:00.0 [0xb5f7f000 - 0xb5f8efff]
[    0.482819] DMAR: Setting identity map for device 0000:02:00.0 [0xb5f7f000 - 0xb5f8efff]
[    0.482820] DMAR: Setting identity map for device 0000:0b:00.0 [0xb5f7f000 - 0xb5f8efff]
[    0.482822] DMAR: Setting identity map for device 0000:03:00.0 [0xb5f7f000 - 0xb5f8efff]
[    0.482823] DMAR: Setting identity map for device 0000:03:00.1 [0xb5f7f000 - 0xb5f8efff]
[    0.482824] DMAR: Setting identity map for device 0000:01:00.0 [0xb5f7f000 - 0xb5f8efff]
[    0.482826] DMAR: Setting identity map for device 0000:01:00.2 [0xb5f7f000 - 0xb5f8efff]
[    0.482827] DMAR: Setting identity map for device 0000:08:00.0 [0xb5f8f000 - 0xb5f92fff]
[    0.482829] DMAR: Setting identity map for device 0000:02:00.0 [0xb5f8f000 - 0xb5f92fff]
[    0.482830] DMAR: Setting identity map for device 0000:0b:00.0 [0xb5f8f000 - 0xb5f92fff]
[    0.482832] DMAR: Setting identity map for device 0000:03:00.0 [0xb5f8f000 - 0xb5f92fff]
[    0.482833] DMAR: Setting identity map for device 0000:03:00.1 [0xb5f8f000 - 0xb5f92fff]
[    0.482834] DMAR: Setting identity map for device 0000:01:00.0 [0xb5f8f000 - 0xb5f92fff]
[    0.482836] DMAR: Setting identity map for device 0000:01:00.2 [0xb5f8f000 - 0xb5f92fff]
[    0.482837] DMAR: Setting identity map for device 0000:08:00.0 [0xb5f93000 - 0xb5f94fff]
[    0.482838] DMAR: Setting identity map for device 0000:02:00.0 [0xb5f93000 - 0xb5f94fff]
[    0.482840] DMAR: Setting identity map for device 0000:0b:00.0 [0xb5f93000 - 0xb5f94fff]
[    0.482841] DMAR: Setting identity map for device 0000:03:00.0 [0xb5f93000 - 0xb5f94fff]
[    0.482842] DMAR: Setting identity map for device 0000:03:00.1 [0xb5f93000 - 0xb5f94fff]
[    0.482843] DMAR: Setting identity map for device 0000:01:00.0 [0xb5f93000 - 0xb5f94fff]
[    0.482845] DMAR: Setting identity map for device 0000:01:00.2 [0xb5f93000 - 0xb5f94fff]
[    0.482846] DMAR: Setting identity map for device 0000:01:00.0 [0xb5ff6000 - 0xb5ffcfff]
[    0.482847] DMAR: Setting identity map for device 0000:01:00.2 [0xb5ff6000 - 0xb5ffcfff]
[    0.482849] DMAR: Setting identity map for device 0000:01:00.4 [0xb5ff6000 - 0xb5ffcfff]
[    0.482857] DMAR: Setting identity map for device 0000:00:1a.0 [0xb5ffd000 - 0xb5ffffff]
[    0.482873] DMAR: Setting identity map for device 0000:00:1d.0 [0xb5ffd000 - 0xb5ffffff]
[    0.482880] DMAR: Prepare 0-16MiB unity mapping for LPC
[    0.482885] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[    0.482953] DMAR: Intel(R) Virtualization Technology for Directed I/O
[   93.900901] vfio-pci 0000:0b:00.0: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
[  186.843082] vfio-pci 0000:0b:00.0: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
[  229.103893] vfio-pci 0000:0b:00.0: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
[  267.422386] vfio-pci 0000:0b:00.0: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
[  915.854466] vfio-pci 0000:0b:00.0: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
[ 1012.760069] vfio-pci 0000:0b:00.0: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
 
Last edited:
I'm having a similar problem with a HP Microserver Gen8 but the following article may help:

http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c04781229&sp4ts.oid=5249566

Please let me know if you get this working. I have tried the instructions for passing through a NIC but still get the same error. That having been said - I'm on a microserver - this may well work for you! :)

As a crappy and hacky workaround I built my own kernel and patched out the check which caused the passthrough to fail.

remove_mbrr_check.patch

Code:
--- ubuntu-wily/drivers/iommu/intel-iommu.c.orig        2015-10-19 14:15:03.895547937 +0000
+++ ubuntu-wily/drivers/iommu/intel-iommu.c             2015-10-19 14:15:40.855374738 +0000
@@ -4693,11 +4693,6 @@
        int addr_width;
        u8 bus, devfn;


-       if (device_is_rmrr_locked(dev)) {
-               dev_warn(dev, "Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.\n");
-               return -EPERM;
-       }
-
        /* normally dev is not mapped */
        if (unlikely(domain_context_mapped(dev))) {
                struct dmar_domain *old_domain;

I then added that to the pve-kernel Makefile like so:

Code:
...
        cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
        cd ${KERNEL_SRC}; patch -p1 <../remove_mbrr_check.patch
        #cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
...
 
Thank you. :) i will try looking in to this, that is indeed a hacky solution,:D i am not sure if i have the right skills to patch the kernel, will it be persistent when i apply a newer kernel when i run dist-upgrade ?
 
Thank you. :) i will try looking in to this, that is indeed a hacky solution,:D i am not sure if i have the right skills to patch the kernel, will it be persistent when i apply a newer kernel when i run dist-upgrade ?

I'm planning to write a quick blog post on how to apply the patches from start to finish but unfortunately no - this will not persist through a dist-upgrade so you would probably want to freeze the pve-kernel package installation.

Although I strongly recommend you try the instructions in my previous post (i.e. in the HP knowledgebase article) since that is an actual solution instead of my hacky kernel workaround. I had already tried the HP recommendations and that still didn't work sadly. Hence the necessity to take more extreme steps.
 
I can confirm this on the same hardware, I tried all suggested GRUB-options no Luck at all...could you explain how to build the kernel with your modifications? Whats so bad about implementing these changes in the mainline Proxmox kernel?
 
If i understand correctly there is many hp servers that have this issue. A more Persistens fix is defently on our wishlist :)
 
This correct, why don't you put your kernel changes to the proxmox bugtracker?
 
Is there any news on this? Could the changes be importet in the proxmox kernel? SInce it seems that many HP users are affected
 
yes he might be our help :)
I read the advisory but i can't even get the commandline tools since this seems for RHEL only...correct me if i'm wrong
 
OK I changed the BIOS like the advisory said...but no luck. Same error-message....
 
Trying to passtrough my quad pcie nic on the hp microserver gen8 today as well. I want it isolated for pfSense. Of course got the same errors as you guys. Even tried to reinstall Proxmox thinking I did something wrong, since its my first time running Proxmox. So im just wondering if there still is no easy fix for this?

Edit:
Some more information about the setup, but first the error message that Proxmox gives when starting the pfSense vm.
Code:
Running as unit 100.scope.
kvm: -device vfio-pci,host=09:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on: vfio: failed to set iommu for container: Operation not permitted
kvm: -device vfio-pci,host=09:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on: vfio: failed to setup container for group 1
kvm: -device vfio-pci,host=09:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on: vfio: failed to get group 1
kvm: -device vfio-pci,host=09:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on: Device initialization failed

Code:
root@prox:~# dmesg | grep ecap
[    0.018165] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c9008020660262 ecap f010da

Code:
Edited /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

Code:
root@prox:~# cat /etc/pve/qemu-server/100.conf
balloon: 512
bootdisk: ide0
cores: 2
cpu: qemu64
ide0: local:100/vm-100-disk-1.qcow2,size=8G
ide2: local:iso/pfSense-LiveCD-2.2.6-RELEASE-amd64-20151221-1450.iso,media=cdrom
machine: q35
hostpci0: 09:00,pcie=1
hostpci1: 0a:00,pcie=1
memory: 2048
name: pfSense
net0: e1000=36:36:32:31:65:38,bridge=vmbr0
numa: 0
ostype: other
smbios1: uuid=313835f0-90ff-4aa8-862a-7f3b85121ab5
sockets: 1

Code:
root@prox:~# lspci | egrep -i --color "network|ethernet"
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
03:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
09:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
0a:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
0a:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
 
Last edited:
Hey proppa,

negativ same error, however if you want the nic isolated you might use vswitch for that....or if it has to be be isolated on the 'hardware' layer you need to patch the kernel...
 
Hey proppa,

negativ same error, however if you want the nic isolated you might use vswitch for that....or if it has to be be isolated on the 'hardware' layer you need to patch the kernel...

Hey moarph,

I could use vswitch until it gets fixed then, if it ever will be? How do I go about isolating it trough vswitch? Do you know of a good tutorial?
 
Since it has actuallay to be fixed by hp it will probably never be fixed...would be nice to have a 'i know what i'm doing' boot flag for this. regarding vswitch you will find good information in the proxmox wiki.
however i managed to patch the kernel and it seemed to work though but the upgrades will be a major pain in the a**
 
Hey guys,

I tried the solution with the kernel patch.. but no luck at all..
This is how i did it:

For the Packages to download i used:
https://git.proxmox.com/?p=pve-common.git;a=blob_plain;f=README.dev;hb=HEAD

downloaded the dependencies:
Code:
$ apt-get install git screen fakeroot build-essential devscripts libncurses5 libncurses5-dev libssl-dev bc flex bison libelf-dev libaudit-dev libgtk2.0-dev libperl-dev libperl-dev asciidoc xmlto gnupg gnupg2

download the source:
git clone git://git.proxmox.com/git/pve-kernel.git
(its abaut 4,5Gig to download)

after this make the patches above:
-->
use this patch:

Code:
--- ubuntu-xenial/drivers/iommu/intel-iommu.c.orig      2016-11-24 08:16:14.101871771 +0100
+++ ubuntu-xenial/drivers/iommu/intel-iommu.c   2016-11-24 08:17:36.581195062 +0100
@@ -4797,11 +4797,6 @@ static int intel_iommu_attach_device(str
        int addr_width;
        u8 bus, devfn;
-       if (device_is_rmrr_locked(dev)) {
-               dev_warn(dev, "Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.\n");
-               return -EPERM;
-       }
-
        /* normally dev is not mapped */
        if (unlikely(domain_context_mapped(dev))) {
                struct dmar_domain *old_domain;

to create a own patchfile do this:

unpack the ubuntu-xenial.tgz
navigate to ubuntu-xenial/drivers/iommu/intel-iommu.c

this is the file to edit and create the patch.

$ cp ubuntu-xenial/drivers/iommu/intel-iommu.c ubuntu-xenial/drivers/iommu/intel-iommu.c.orig
$ nano ubuntu-xenial/drivers/iommu/intel-iommu.c

remove these lines:
Code:
if (device_is_rmrr_locked(dev)) {
              dev_warn(dev, "Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.\n");
               return -EPERM;
       }

after this go back to the main pve-kernel folder and create the patch

$ diff -u ubuntu-xenial/drivers/iommu/intel-iommu.c.orig ubuntu-xenial/drivers/iommu/intel-iommu.c > remove_mbrr_check.patch

after this you get something like this: remove_mbrr_check.patch

Code:
--- ubuntu-xenial/drivers/iommu/intel-iommu.c.orig      2016-11-24 08:16:14.101871771 +0100
+++ ubuntu-xenial/drivers/iommu/intel-iommu.c   2016-11-24 08:17:36.581195062 +0100
@@ -4797,11 +4797,6 @@ static int intel_iommu_attach_device(str
        int addr_width;
        u8 bus, devfn;
-       if (device_is_rmrr_locked(dev)) {
-               dev_warn(dev, "Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.\n");
-               return -EPERM;
-       }
-
        /* normally dev is not mapped */
        if (unlikely(domain_context_mapped(dev))) {
                struct dmar_domain *old_domain;

now input this new patch to the Makefile:

$ nano Makefile and input the bold line between the two others.
Code:
...
        cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
        cd ${KERNEL_SRC}; patch -p1 <../remove_mbrr_check.patch
        #cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
...

save the file and just run the build..

$ make

after the build finished (could take a long time)
you get some new .deb files

install the kernel.deb (something like pve-4.4.24-1-pve-x64 blablabla .deb) with dpkg

$ dpkg -i thekernelname.deb

update grub with

$ update-grub

reboot and the new Kernel is installed

-----------------

Maybe I did something wrong to get the passthrough working...
The Kernel build without problems.
System is booting from the new Kernel, but after trying to passthrough my HP P410 Raidcontroller to Guest VM I still get this error:

Code:
kvm: -device vfio-pci,host=07:00.0,id=hostpci0,bus=pci.0,addr=0x10: vfio: failed to set iommu for container: Operation not permitted
kvm: -device vfio-pci,host=07:00.0,id=hostpci0,bus=pci.0,addr=0x10: vfio: failed to setup container for group 1
kvm: -device vfio-pci,host=07:00.0,id=hostpci0,bus=pci.0,addr=0x10: vfio: failed to get group 1
kvm: -device vfio-pci,host=07:00.0,id=hostpci0,bus=pci.0,addr=0x10: Device initialization failed

i am running out of options :(
Anybody else who got this running ?
 

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!