Error! Bad return status for module build on kernel: 6.2.16-19-pve (x86_64)
系统:PVE 8.0.4
内核:6.2.16-19-pve
1、将库文件部署到 /usr/src 下,改名为:i915-sriov-dkms-6.2
2、修改 dkms.conf 文件,将 PACKAGE_NAME 改为 i915-sriov-dkms;PACKAGE_VERSION 改为 6.2;删除 4、5 行中的 -j $(nproc)
3、修改 /usr/src/i915-sriov-dkms-6.1/drivers/gpu/drm/i915/display/intel_dp.c 文件,将 > KERNEL_VERSION(6,4,5) 批量替换成 >= KERNEL_VERSION(6,2,0)
4、更新源,下载库
apt install pve-headers-$(uname -r)
apt install dkms build-* -y
编译,注意最后一定要加上参数 -j 1 即:dkms install --force -m i915-sriov-dkms -v 6.2 -j 1
附:dkms.conf 文件修改后内容
PACKAGE_NAME=“i915-sriov-dkms”
PACKAGE_VERSION=“6.2”
MAKE[0]=“make -C {dkms_tree}/{PACKAGE_VERSION}/build KVER=${kernelver}”
CLEAN=“make -C {dkms_tree}/{PACKAGE_VERSION}/build KVER=${kernelver} clean”
BUILT_MODULE_NAME[0]=“i915”
DEST_MODULE_LOCATION[0]=/kernel/drivers/gpu/drm/i915
AUTOINSTALL=yes
5、nano /etc/default/grub
注释掉现有GRUB_CMDLINE_LINUX_DEFAULT,然后粘贴下面的这行代码
GRUB_CMDLINE_LINUX_DEFAULT=“quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7”
6、更新 grub 并安装 sysfsutils,还是一样的,命令行要一行一行的执行,不要偷懒。
update-grub
update-initramfs -u
apt install sysfsutils -y
-
现在我们需要找到核显所在的 PCIe 总线。它通常是 00:02.0。
lspci | grep VGA
-
运行以下命令并根据需要修改 PCIe 总线编号。在本例中,我的是 00:02.0。
echo “devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7” > /etc/sysfs.conf -
reboot重启
-
重启后登录PVE管理后台打开shell或者第三方ssh软件,然后运行以下命令,它应该返回大量数据,如果一切顺利,最后你应该看到已启用 7 个 VF,如下图所示。
dmesg | grep i915
lspci | grep VGA
win10虚拟机配置
nano /etc/pve/qemu-server/100.conf
bios: ovmf
boot: order=scsi0;scsi1;scsi2
cores: 2
cpu: host
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02.7,pcie=1,x-vga=1
ide2: none,media=cdrom
machine: pc-q35-8.0
memory: 4096
meta: creation-qemu=8.0.2,ctime=1698291139
name: win10
net0: e1000=C2:50:5D:CF:49:52,bridge=vmbr0,firewall=1
net1: e1000=52:4D:FB:0D:0E:89,bridge=vmbr1,firewall=1
numa: 0
onboot: 1
ostype: win10
scsi0: local-lvm:vm-100-disk-1,iothread=1,size=100G,ssd=1
scsi1: local-lvm:vm-100-disk-2,iothread=1,size=100G,ssd=1
scsi2: local-lvm:vm-100-disk-3,iothread=1,size=100G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=0f02c1e8-fe2b-4848-9ebb-25fc272ae001
sockets: 1
vga: virtio
vmgenid: 6f579cd0-362f-4152-8480-a397cb132305