[SOLVED] [Tutorial] Compile Proxmox VE 5 with patched intel-iommu driver to remove RMRR check

Discussion in 'Proxmox VE: Installation and configuration' started by Feni, Aug 16, 2017.

  1. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    Tutorial:

    Well it took a bit more time but here it is, a tutorial to disable the RMRR check. There are other tutorials but those aren't complete, don't work or are for v4.4 and earlier. If you've been affected by RMRR on HP Proliant G7 or earlier, other solutions will not work (excluding RMRR with conrep, acs_override, etc. etc.).

    You have probably read this already as well, otherwise you wouldn't be here. ;-)
    https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/

    You should only use this tutorial if you have old hardware that cannot disable RMRR (Reserved Memory Region Reporting). Red Hat has a good whitepaper on the subject, please read it before continuing: https://access.redhat.com/sites/default/files/attachments/rmrr-wp1.pdf

    Anyway, if you're aware of the security risk of accepting RMRR in a virtualized environment, you accept the inherent risk of compiling a Linux kernel with a self-made patch (typos in the patch may kill your system) and still want to use passthrough: here's a how to for Proxmox VE v5.1 v5.2 v5.3. I'm pretty new to all this stuff (first time compiling ever) so don't expect this to be the prettiest tutorial ever and there's probably a better or quicker way to do things. This however did work for me where all other suggestions failed.

    If you're trying to passthrough a GPU but can't get it to work and get a message like this in the GUI:
    Code:
    vfio: failed to set iommu for container: Operation not permitted
    RMRR exclusion might be in effect, you can check this like this:
    Code:
    dmesg | grep -e DMAR -e IOMMU
    If that returns
    Code:
    vfio-pci 0000:0X:YY.Z: Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.
    RMRR exclusion is indeed in effect and passthrough for that device has been disabled.

    Still on board? Okay then, we're going to make a patch to disable the RMRR check in the offending intel-iommu driver. Sidenote: this patch does NOT survive a kernel update. You'll need to patch again using this tutorial (works as long as kernel = Zesty, Artful Aardvark, Bionic Beaver).


    First, download and install required packages (not sure if you need all of them, but this is what other users used):
    Code:
    apt-get update
    apt-get install git nano screen patch 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 rsync lintian debhelper libibery-dev libdw-dev libnuma-dev libsplang2-dev libiberty-dev libslang2-dev debhelper
    Then download the pve-kernel:
    Code:
    cd /usr/src/
    git clone git://git.proxmox.com/git/pve-kernel.git
    
    Temporary edit:
    For now, you need to download a different branch (pve-kernel-4.15) because master pve-kernel contains an old 4.13 branch:
    cd /usr/src/
    git clone -b pve-kernel-4.15 --single-branch git://git.proxmox.com/git/pve-kernel.git


    This makes a map called pve-kernel in /usr/src/ (the preferred folder for compiling stuff) where all the magic is going to happen.

    Next, download the Ubuntu kernel, this is needed to make a patch for the driver:
    Code:
    cd /usr/src/
    git clone git://git.proxmox.com/git/mirror_ubuntu-bionic-kernel.git
    cp -r mirror_ubuntu-bionic-kernel ubuntu-bionic
    rm -rf mirror_ubuntu-bionic-kernel
    
    Then, copy the driver file so we can edit the copy and make a patch out of the differences between the copy and original:
    Code:
    cp ubuntu-bionic/drivers/iommu/intel-iommu.c ubuntu-bionic/drivers/iommu/intel-iommu_new.c
    
    And use your preferred editor (mine is Nano) to edit the intel.iommu_new.c driver file:
    Code:
    nano ubuntu-bionic/drivers/iommu/intel-iommu_new.c
    
    Find this section (ctrl-w in Nano):
    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;
           }
    
    Edit out the offending "return -EPERM" line, modify the text for your convenience and close with ctrl-o and ctrl-x, it should look like this:
    Code:
           if (device_is_rmrr_locked(dev)) {
                   dev_warn(dev, "Device was ineligible for IOMMU domain attach due to platform RMRR requirement.  Patch is in effect.\n");
           }
    
    Then, make a patch file in the pve-kernel directory out of the original and new driver file:
    Code:
    cd /usr/src/pve-kernel
    diff -u /usr/src/ubuntu-bionic/drivers/iommu/intel-iommu.c /usr/src/ubuntu-bionic/drivers/iommu/intel-iommu_new.c > remove_rmrr_check.patch
    
    Open your new patch file, you may need to edit the first two lines to co-align with the necessary structure when compiling.
    Code:
    nano remove_rmrr_check.patch
    
    The first two lines should look like this (don't mind the dates, just edit the directories en filenames):
    Code:
    --- a/drivers/iommu/intel-iommu.c   2017-11-24 17:47:46.031359158 +0200
    +++ b/drivers/iommu/intel-iommu.c       2017-11-24 17:50:59.904823799 +0200
    
    Close and save with ctrl-o, ctrl-x (or ctrl-x and y)

    Find your newly created patch file in the pve-kernel directory and place it in the patches directory.
    Code:
    cd /usr/src/pve-kernel
    mv remote_rmrr_check.patch ./patches/kernel
    
    In order to avoid build conflicts if the kernel is the same as the one you're patching (e.g. an up-to-date system), you need to edit the control.in file:
    Code:
    nano /usr/src/pve-kernel/debian/control.in
    
    Now, add this to the end of the package line at the pve-headers paragraph:
    Code:
    -removermrr
    
    The line should look like this:
    Code:
    pve-headers-@KVNAME@-removermrr
    
    Save with ctrl-x and y.

    There is a script that checks for strange dir names that needs to be disabled in order for us to have a custom name:
    Code:
    nano /usr/src/pve-kernel/debian/scripts/find-firmware.pl
    
    Comment out the fourth line from above with a # so that it looks as such:
    Code:
    #die "strange directory name" if..
    
    Save with ctrl-x and y.

    To finish up and give your system a nice identifier, edit the Makefile:
    Code:
    nano /usr/src/pve-kernel/Makefile
    
    Edit the EXTRAVERSION line near the top of the Makefile and add this to the end:
    Code:
    -removermrr
    
    Again, save with ctrl-x and y.

    Now, you've made a patch to modify the intel-iommu driver and set everything to successfully compile the new kernel. All that's left is to compile! Since the Makefile does all the thinking, you don't need to pass arguments like -j:
    Code:
    make
    
    Now watch the magic, it will take a while and put quite a load on your system. It took 30 minutes on my HP DL380 G6 with twin X5670's (24 threads on 2.93ghz). When it's finished, you should find a couple of new .deb files in your /usr/src/pve-kernel directory. Install them:
    Code:
    dpkg -i *.deb
    
    The Makefile also updates GRUB and initramfs, so no need to update those manually. When finished, reboot and check again:
    Code:
    dmesg | grep -e DMAR -e IOMMU
    
    You should see your newly modified line about RMRR and passthrough should work. If not, something else might be wrong, I made a typo somewhere or forgot something (reply below) or this tutorial is outdated already because Proxmox uses a different kernel than Zesty (updated already to Artful after writing this tutorial, had to rewrite. Thanks to and3l12 for providing info on the new makefile). Bionic already. ;-)

    Happy compiling and don't forget to like this post if it helped you. :cool::D

    Old post:
    I'm currently dealing with a very nasty problem regarding RMRR requirements of a HP DL360 G6 when passing through any GPU to a Windows VM. Recent kernels wil not allow passing through the GPU because of security issues with RMRR.

    I've read ALL available posts regarding this problem (including every possible tweak concerning pci-e ACS and possible BIOS edits using hp-scripting-tools, which only work on G8 and higher) and have come to the conclusion that the only way that I'll ever pass through a GPU to my VM on this machine is by disabling the RMRR check in the intel-iommu driver.

    I'm aware of security risks by allowing RMRR in a VM environment, but since its a home mediaserver/gamebox/remote desktop box I can live with that.

    There are a couple good tutorials on how to compile Proxmox and include a patched intel-iommu driver but they are all for V4 and earlier. It seems that compiling PVE has changed with v5. Cloning into pve-kernel.git works but doesn't clone ubuntu-zesty drivers (which should have allowed me to modify the intel-iommu.c file). Also, just cloning pve-kernel and editing the Makefile with a .patch file for the driver fails as well (remote error, access denied or repository not exported) for various submodules.

    Can anyone point me to a good tutorial on how to compile PVE v5 and include a patch to modify intel.iommu.c or use a patched intel-iommu.c file?

    Edit: output when compiling pve-kernel with remove_rmrr_check.patch included in Makefile, seems like the repository is broken or has missing files?
    root@pve:/usr/src/pve-kernel# make
    gcc --version|grep "6\.3" || false
    gcc (Debian 6.3.0-18) 6.3.0 20170516
    test -f "submodules/ubuntu-zesty/README" || git submodule update --init
    Submodule 'submodules/spl-module' (git://git.proxmox.com/git/mirror_spl-debian) registered for path 'submodules/spl-module'
    Submodule 'submodules/ubuntu-zesty' (git://git.proxmox.com/git/mirror_ubuntu-zesty-kernel) registered for path 'submodules/ubuntu-zesty'
    Submodule 'submodules/zfs-module' (git://git.proxmox.com/git/mirror_zfs-debian) registered for path 'submodules/zfs-module'
    Cloning into '/usr/src/pve-kernel/submodules/spl-module'...
    fatal: remote error: access denied or repository not exported: /git/mirror_spl-debian
    fatal: clone of 'git://git.proxmox.com/git/mirror_spl-debian' into submodule path '/usr/src/pve-kernel/submodules/spl-module' failed
    Failed to clone 'submodules/spl-module'. Retry scheduled
    Cloning into '/usr/src/pve-kernel/submodules/ubuntu-zesty'...
    Cloning into '/usr/src/pve-kernel/submodules/zfs-module'...
    fatal: remote error: access denied or repository not exported: /git/mirror_zfs-debian
    fatal: clone of 'git://git.proxmox.com/git/mirror_zfs-debian' into submodule path '/usr/src/pve-kernel/submodules/zfs-module' failed
    Failed to clone 'submodules/zfs-module'. Retry scheduled
    Cloning into '/usr/src/pve-kernel/submodules/spl-module'...
    fatal: remote error: access denied or repository not exported: /git/mirror_spl-debian
    fatal: clone of 'git://git.proxmox.com/git/mirror_spl-debian' into submodule path '/usr/src/pve-kernel/submodules/spl-module' failed
    Failed to clone 'submodules/spl-module' a second time, aborting
    Makefile:355: recipe for target 'submodules' failed
    make: *** [submodules] Error 1

    And my remove_rmrr_check.patch:
    --- ubuntu-zesty/drivers/iommu/intel-iommu.c 2017-08-17 07:36:45.691523384 +0200
    +++ ubuntu-zesty/drivers/iommu/intel-iommu_backup.c 2017-08-17 07:41:27.953600795 +0200
    @@ -5024,8 +5024,7 @@
    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;
    + dev_warn(dev, "Device was ineligible for IOMMU domain attach due to platform RMRR requirement, patch in effect.\n");
    }

    /* normally dev is not mapped */
     
    #1 Feni, Aug 16, 2017
    Last edited: Mar 9, 2019
    warnerizo, Nullos, txolo99 and 4 others like this.
  2. fabian

    fabian Proxmox Staff Member
    Staff Member

    Joined:
    Jan 7, 2016
    Messages:
    3,194
    Likes Received:
    494
    seems like some repos are not exported by mistake, should be fixed soon.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    Feni likes this.
  3. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    Thanks a bunch, when fixed I can finally test if my patch works. :)

    It should help a lot of people with old HP hardware who want PCI-e passthrough and have to move to Xen or VMware instead of Proxmox (or any linux based system) if they want passthrough because of those linux kernel restrictions. If succesfull I'll publish the patch here with instructions (and a footnote about security).
     
    #3 Feni, Aug 17, 2017
    Last edited: Aug 17, 2017
  4. fabian

    fabian Proxmox Staff Member
    Staff Member

    Joined:
    Jan 7, 2016
    Messages:
    3,194
    Likes Received:
    494
    repos should work now! thanks for catching this.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    Well it worked, and with a small change the remove_rmrr_check.patch worked as well. I'll post a tutorial here soon. :)
     
  6. ang3l12

    ang3l12 New Member

    Joined:
    Dec 19, 2016
    Messages:
    3
    Likes Received:
    0
    It looks like the makefile was changed in 5.1, so trying to follow the directions and testing it with only one change: copying the patch into pve-kernel\patches file. From what I saw in the makefile, it will automatically apply any .patches found in that dir while compiling

    Edit: Derp. Didn't even notice that 5.1 moved to ubuntu-artful. Now downloading that kernel and going to amend the commands to reflect artful instead of zesty.
     
    #6 ang3l12, Oct 30, 2017
    Last edited: Oct 30, 2017
  7. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    Hi ang3l12, didn't see your post. Thanks for the information, I'll upgrade my system somewhere this week and adjust the tutorial to the new kernel and makefile.

    Edit:
    Updated to 5.1 (Artful kernel) and the patches directory works fine indeed. Saved me some time messing around in the makefile, this is a much more elegant method of patching. :) Updated the tutorial as well and moved it to the first post.

    Edit 2:
    Placing the .patch in ./patches does not work. It seems you need to place it in ./patches/kernel in order for the makefile to use it. Also, the makefile won't find the file to patch so I need to adjust the tutorial.

    Edit 3:
    Hmpf, all seemed to go well but patch has not been applied. Need to recheck what went wrong.

    Edit 4:
    Found it, need to change patch file. Will update tutorial soon.

    Edit 5:
    Tutorial has been updated, patch should work now with instructions in first post. :)

    Edit 6:
    Tutorial has been updated with @djace his additions
     
    #7 Feni, Dec 2, 2017
    Last edited: Apr 20, 2018
  8. djace

    djace New Member

    Joined:
    Feb 10, 2018
    Messages:
    1
    Likes Received:
    0
    Feni, thanks a lot for this patch and for documenting this so nicely! I can confirm that this successfully allowed me to passthrough a GeForce GT 1030 to a Windows 10 host on an HP ProLiant MicroServer Gen8 where I was getting the RMRR check and no other work-arounds I found worked.

    Some additional notes that might come useful to someone else trying to do this:

    a) If you are creating an LXC container to compile this custom kernel to avoid 'polluting' your main proxmox install, this will work fine. I used the standard Debian 9 template for this.

    b) Besides the git nano screen patch 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
    packages mentioned in the initial post, I found that I also had to install the following ones at some point: rsync lintian debhelper

    c) You only need to install the pve-kernel-*.deb package. Based on my experience, the rest of the generated debs (linux-tools-*, linux-tools-*dbgsym*, proxmox-ve*, pve-headers-*) are not required.

    d) If you are attempting to overwrite an existing Proxmox kernel without upgrading the version, you will get errors since dpkg will attempt to overwrite files from the vanilla proxmox kernel.

    A much nicer solution is to edit the control.in file located at /usr/src/pve-kernel so that the generated package is named differently.
    Package: pve-kernel-@KVNAME@-removermrr
    Replaces: pve-kernel-@KVNAME@


    If you would also want to show something custom like 'removermrr' in uname -a, you will need to edit the EXTRAVERSION variable in the general Makefile.
     
  9. jab3

    jab3 New Member

    Joined:
    Feb 15, 2018
    Messages:
    1
    Likes Received:
    0
    Hi friend!

    I have an HP ProLiant MicroServer Gen8 and Nvidia GT630 I'm trying with a MV and windows 10 but dont work...

    Could you explain how you have got it to work step by step?

    sorry for my english, it's a bit poor

    regards
     
  10. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    Thanks! I've added your remarks to my tutorial. I'm testing right now.
     
  11. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    The step for step tutorial is in the first post, not sure if it applies to you with a gen8 server but you can try.
     
  12. Tirigon

    Tirigon New Member

    Joined:
    Apr 23, 2018
    Messages:
    3
    Likes Received:
    0
    @Feni thanks for your tutorial, really struggeling with the same problem.

    However, when I try to run the makefile on my G7 it gives the following error:

    Code:
    root@JvA:/usr/src/pve-kernel# make
    gcc --version|grep "6\.3" || false
    gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
    make: *** No rule to make target 'submodules/ubuntu-artful', needed by 'ubuntu-artful.prepared'.  Stop.
    I don't really get what he is missing, as I'm in my pve-directory and the patch doesn't contain any ubuntu-specific lines...
    Could you help me out (once more)? :)
     
  13. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    It seems something has changed with Bionic. I'll need to figure out what has changed and rewrite the tutorial. I also just found out my VM with passthrough won't boot anymore and the makefile gives me random errors whatever I try. Grr. Will report back when I find a fix.

    -edit
    Ok @Tirigon , found a fix. First of all, the master pve-kernel.git has an old 4.13 kernel. You currently need to clone another branch with
    Code:
    git clone -b pve-kernel-4.15 --single-branch git://git.proxmox.com/git/pve-kernel
    
    Also found out how to edit the uname and build name to avoid build conflicts when patching on an updated system. Edited the tutorial to reflect this, do need to add an extra step in the tutorial to circumvent a directory naming check somewhere. Thanks @djace .
     
    #13 Feni, Jun 11, 2018
    Last edited: Jun 18, 2018
  14. Cuenta

    Cuenta New Member

    Joined:
    Sep 23, 2018
    Messages:
    1
    Likes Received:
    0
    Because of lack of space on "/", I did a soft link to "/mnt/hdd:

    Code:
    ln -s /mnt/hdd/pve-kernel/ /usr/src/ 
    After a while compiling, I get this error:
    Code:
    make[2]: Entering directory '/mnt/hdd/pve-kernel/build'
    make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
    debian/scripts/find-firmware.pl debian/pve-kernel-4.15.18-5-pve-removermrr/lib/modules/4.15.18-5-pve-removermrr >fwlist.tmp
    no such directory at debian/scripts/find-firmware.pl line 9.
    debian/rules:226: recipe for target 'fwlist-4.15.18-5-pve-removermrr' failed
    make[2]: *** [fwlist-4.15.18-5-pve-removermrr] Error 2
    make[2]: Leaving directory '/mnt/hdd/pve-kernel/build'
    debian/rules:80: recipe for target 'binary' failed
    make[1]: *** [binary] Error 2
    make[1]: Leaving directory '/mnt/hdd/pve-kernel/build'
    dpkg-buildpackage: error: debian/rules binary gave error exit status 2
    Makefile:83: recipe for target 'pve-kernel-4.15.18-5-pve-removermrr_4.15.18-24_amd64.deb' failed
    make: *** [pve-kernel-4.15.18-5-pve-removermrr_4.15.18-24_amd64.deb] Error 2
    The only things I have in the debian folder are:

    Code:
    changelog
    compat
    control.in
    copyright
    pve-headers.postinst.in
    pve-kernel.postinst.in
    pve-kernel.postrm.in
    pve-kernel.prerm.in
    rules
    rules.d/
    scripts/
    
    It's like there is nothing created after all the compiling process.
     
  15. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    The folder contents are fine but I think there is some stuff in the find-firmware.pl script to look for certain directory names. Can you try this:
    Code:
    nano /mnt/hdd/pve-kernel/debian/scripts/find-firmware.pl
    
    Comment out the fourth line from above with a # so that it looks as such:
    Code:
    #die "strange directory name" if..
    
    I also added this to the main tutorial because the find-firmware.pl script will always fail on the modified -removermrr dir name.
     
  16. GMR

    GMR New Member

    Joined:
    Nov 29, 2018
    Messages:
    1
    Likes Received:
    1
    @Feni I registered only to say THANK YOU! It really works.
     
    Feni likes this.
  17. DKGE

    DKGE New Member

    Joined:
    Oct 12, 2018
    Messages:
    5
    Likes Received:
    0
    @Feni really nice tutorial sadly i am stuck with compiling.
    I get this error.
    Code:
    Makefile:1059: recipe for target 'drivers' failed
    make[2]: *** [drivers] Error 2
    make[2]: Leaving directory '/usr/src/pve-kernel/build/ubuntu-bionic'
    debian/rules:95: recipe for target '.compile_mark' failed
    make[1]: *** [.compile_mark] Error 2
    make[1]: Leaving directory '/usr/src/pve-kernel/build'
    dpkg-buildpackage: error: debian/rules build gave error exit status 2
    Makefile:81: recipe for target 'pve-kernel-4.15.18-9-pve-removermrr_4.15.18-30_amd64.deb' failed
    make: *** [pve-kernel-4.15.18-9-pve-removermrr_4.15.18-30_amd64.deb] Error 2
    
    I don't know a lot about the kernel this is even my first time trying to change something in it.
    Every step was checked for typos and nothing was forgotten at least i think.
    The system is on : pve-manager/5.3-6/37b3c8df (running kernel: 4.15.18-9-pve)
    System is HP DL380 G6 with 2x Intel Xeon X5670
    Hope you guys can help me with this.

    Edit :
    Is it recommended to remove the GPU while attempting to rebuild the kernel.
    I will try this next since it is a drivers error

    Edit 2 :
    I want to confirm that after removing the GPU and the PCI riser card from the server i was able to compile the kernel right now running on pve-manager/5.3-6/37b3c8df (running kernel: 4.15.18-9-pve-removermrr)
     
    #17 DKGE, Dec 28, 2018
    Last edited: Dec 29, 2018
  18. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    Happy to share this with you. :)
     
  19. Feni

    Feni New Member

    Joined:
    Jun 22, 2017
    Messages:
    19
    Likes Received:
    7
    That's strange, hasn't happened to me and I run the same platform. Does the passthrough work after compiling and reseating the GPU and riser board? Perhaps you need to install the GPU drivers since the compile process fails there, not sure if I installed those before writing this tutorial..
     
  20. Bobbbb

    Bobbbb New Member

    Joined:
    Jul 13, 2018
    Messages:
    29
    Likes Received:
    0
    Hi, thanks so much for the guide!

    i am now getting this error:

    TASK ERROR: start failed: command '/usr/bin/kvm -id 106 -name FreeNAS -chardev 'socket,id=qmp,path=/var/run/qemu-server/106.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/106.pid -daemonize -smbios 'type=1,uuid=35ed8d89-5-4d0e-ac71-a4915358' -smp '4,sockets=2,cores=2,maxcpus=4' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/106.vnc,x509,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 8200 -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'vmgenid,guid=149296e5-23f3-4b04-88a1-448f05bf27ad' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'vfio-pci,host=00:1f.0,id=hostpci0.0,bus=pci.0,addr=0x10.0,multifunction=on' -device 'vfio-pci,host=00:1f.2,id=hostpci0.1,bus=pci.0,addr=0x10.1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:815e19841cb4' -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' -drive 'file=/dev/zvol/rpool/data/vm-106-disk-0,if=none,id=drive-scsi0,cache=writeback,format=raw,aio=threads,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0' -drive 'file=/dev/zvol/rpool/data/vm-106-disk-1,if=none,id=drive-scsi1,cache=writeback,format=raw,aio=threads,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi1,id=scsi1' -drive 'file=/dev/zvol/rpool/data/vm-106-disk-2,if=none,id=drive-scsi2,cache=writeback,format=raw,aio=threads,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi2,id=scsi2,bootindex=102' -drive 'file=/dev/zvol/rpool/data/vm-106-disk-3,if=none,id=drive-scsi3,cache=writeback,format=raw,aio=threads,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=3,drive=drive-scsi3,id=scsi3' -netdev 'type=tap,id=net0,ifname=tap106i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=96:D9:2D:6C:5D:5A,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'type=pc'' failed: got timeout

    can you assist?
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice