最早是参考恩山论坛大神Ozzy_Yang的方案,准备搞All in One的,然后我按照大神的方法安装PVE很成功,但是在配置编译DKMS的时候,总是编译报错
错误信息如下
make -j8 KERNELRELEASE=6.2.16-18-pve -j8 -C /lib/modules/6.2.16-18-pve/build M=/var/lib/dkms/i915-sriov-dkms/6.1/build KVER=6.2.16-18-pve..................(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.2.16-18-pve (x86_64)
Consult /var/lib/dkms/i915-sriov-dkms/6.1/build/make.log for more information.
于是开始到处搜索原因
在项目主页Issues下找到和我类似的情况
需要用编辑器打开i915-sriov-dkms目录下/drivers/gpu/drm/i915/display/intel_dp.c文件
修改两处代码
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,40) && LINUX_VERSION_CODE <= KERNEL_VERSION(6,1,99)) || LINUX_VERSION_CODE > KERNEL_VERSION(6,4,5)
替换为:
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,40) && LINUX_VERSION_CODE <= KERNEL_VERSION(6,1,99)) || LINUX_VERSION_CODE >= KERNEL_VERSION(6,2,0)
这段代码一共在两处出现,都需要替换掉,然后按教程中修改dkms.conf配置文件:
PACKAGE_NAME="i915-sriov-dkms"
PACKAGE_VERSION="6.2" #把6.1改成6.2(i915-sriov-dkms项目中修改成6.1,你如果安装的是PVE8.0+版本的话,PVE8.0+基于的是Debian12 ,Linux6.2内核,所以这里修改成6.2)
退出保存
cd ..
mv i915-sriov-dkms/ /usr/src/i915-sriov-dkms-6.1 #同理,把6.1改成6.2
apt update && apt install pve-headers-$(uname -r)
apt install git dkms build-* unzip -y
最后,编译安装
dkms install --force -m i915-sriov-dkms -v 6.1

使用 dkms status来检查安装状态
提示 :

即表示安装成功!