赞
踩
最近在并夕夕用649.99大洋买了个四网口的N100准系统。
由于查了一些资料都不合适,所以自己参考别人的做法,整理了以下的安装方法。
参考网址:向这些作者致谢。
①https://www.right.com.cn/forum/thread-8258222-1-1.html
②https://www.bilibili.com/video/BV1AN4y1D7Bh/?spm_id_from=333.788.recommend_more_video.1评论区
③https://bbs.x86pi.cn/thread?topicId=24
④https://foxi.buduanwang.vip/virtualization/pve/2695.html/
⑤https://github.com/strongtz/i915-sriov-dkms
⑥http://mirrors.ustc.edu.cn/proxmox/debian/dists/bookworm/pve-no-subscription/binary-amd64/
配置如下:
在BIOS开启VT-D,安装PVE8.1系统。
以下正式开始直通:
1、开启IOMMU直通功能
nano /etc/default/grub
2、找到:GRUB_CMDLINE_LINUX_DEFAULT=“quiet”,改为如下:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_guc=3 i915.max_vfs=7"
3、使用命令 update-grub 保存更改并更新grub,并reboot重启.
update-grub
#重启
reboot
4、重启完后,运行dmesg | grep -e DMAR -e IOMMU看看有没输出,如果没有,说明IOMMU开启不成功。
dmesg | grep -e DMAR -e IOMMU
输出如下(未展示完整),设备不同,显示的信息也不同:
[ 0.014745] ACPI: DMAR 0x00000000734DC000 000088 (v02 INTEL EDK2 00000002 01000013)
[ 0.014780] ACPI: Reserving DMAR table memory at [mem 0x734dc000-0x734dc087]
[ 0.046876] DMAR: IOMMU enabled
[ 0.106676] DMAR: Host address width 39
[ 0.106677] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.106682] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
[ 0.106684] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.106688] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
[ 0.106690] DMAR: RMRR base: 0x0000007c000000 end: 0x000000803fffff
5、增加虚拟化驱动,加载vifo系统模块
nano /etc/modules
添加如下内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
这仅在必要时启用IOMMU转换,将iommu分组相关的内核模块启用,从而可以提高VM中未使用的PCIe设备的性能。
6、查询PVE8系统的内核版本
uname -r
显示
6.5.11-7-pve
可以看到内核版本是6.5.11-7-pve
根据这个版本来下载相应的Headers文件并安装。下载地址:http://mirrors.ustc.edu.cn/proxmox/debian/dists/bookworm/pve-no-subscription/binary-amd64/
7、安装Headers文件
wget http://mirrors.ustc.edu.cn/proxmox/debian/dists/bookworm/pve-no-subscription/binary-amd64/proxmox-headers-6.5.11-7-pve_6.5.11-7_amd64.deb
dpkg -i proxmox-headers-6.5.11-7-pve_6.5.11-7_amd64.deb
安装成功,显示:
root@pve:~# dpkg -i proxmox-headers-6.5.11-7-pve_6.5.11-7_amd64.deb
Selecting previously unselected package proxmox-headers-6.5.11-7-pve.
(Reading database ... 142444 files and directories currently installed.)
Preparing to unpack proxmox-headers-6.5.11-7-pve_6.5.11-7_amd64.deb ...
Unpacking proxmox-headers-6.5.11-7-pve (6.5.11-7) ...
Setting up proxmox-headers-6.5.11-7-pve (6.5.11-7) ...
8、正式安装Sriov
安装一些包
apt install -y build-* git unzip dkms
下载Sriov驱动
git clone https://github.com/strongtz/i915-sriov-dkms.git
把clone的文件放到/usr/src去
mv i915-sriov-dkms /usr/src
编辑/usr/src/i915-sriov-dkms/dkmf.conf
nano /usr/src/i915-sriov-dkms/dkmf.conf
按实际情况修改为:
PACKAGE_NAME="i915-sriov-dkms"
PACKAGE_VERSION="6.5"
保存。
用dkms安装i915-sriov
dkms install -m i915-sriov -v dkms --force
检查一下有没有成功
dkms status
正常输出如下
i915-sriov-dkms/6.5, 6.5.11-7-pve, x86_64: installed
重启
reboot
9、添加开机启动Sriov脚本
echo '#!/bin/bash' >>/etc/rc.local
echo "echo 7 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs" >>/etc/rc.local
chmod +x /etc/rc.local
注意,这里是开启7个vf,如果你想开2个vf,就改成2。
10、重启主机验证
经过这样的步骤,重启之后,使用lspci,可以看到多个0000:00:02设备。即代表成功。,如果要直通,按照正常的直通流程就行。
11、虚拟机要求
对于虚拟机配置,要求为OVMF+Q35配置。如果需要解码。请将虚拟机的显卡设置成无。对于Windows虚拟机,也需要将显卡设置无才能正常驱动。
Linux 排错
如果没有出现renderD128,那么请使用命令dmesg|grep i915获取日志。
Windows虚拟机
在必须满足虚拟机配置的前提下:安装当前最新的驱动,下面2个,二选一自行测试。
英特尔® Arc™ 和锐®炬® Xe 显卡 - BETA - Windows* (intel.cn)
英特尔® Arc™ 和锐炬® Xe 显卡 - WHQL - Windows* (intel.cn)
下面是虚拟机的标准配置
机型选择,q35,bios选择ovmf。添加sriov设备的时候,勾选pcie和主gpu,勾了主gpu之后,pve就不会显示画面了,可以尝试吧显卡改成virtio-gpu,这样就可以显示控制台。如果装驱动43,把显示该成无。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。