|
今天日常更新PVE(PROXMOX)版本,发现提示异常:
- make -j12 KERNELRELEASE=6.2.16-18-pve -j12 -C /lib/modules/6.2.16-18-pve/build M=/var/lib/dkms/i915-sriov-dkms/6.2/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.2/build/make.log for more information.
- Error! One or more modules failed to install during autoinstall.
- Refer to previous errors for more information.
- dkms: autoinstall for kernel: 6.2.16-18-pve failed!
- run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
- Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-6.2.16-18-pve.postinst line 20.
- dpkg: error processing package proxmox-kernel-6.2.16-18-pve (--configure):
- installed proxmox-kernel-6.2.16-18-pve package post-installation script subprocess returned error exit status 2
- dpkg: dependency problems prevent configuration of proxmox-kernel-6.2:
- proxmox-kernel-6.2 depends on proxmox-kernel-6.2.16-18-pve; however:
- Package proxmox-kernel-6.2.16-18-pve is not configured yet.
- dpkg: error processing package proxmox-kernel-6.2 (--configure):
- dependency problems - leaving unconfigured
- Errors were encountered while processing:
- proxmox-kernel-6.2.16-18-pve
- proxmox-kernel-6.2
- E: Sub-process /usr/bin/dpkg returned an error code (1)
- root@pve:~# sudo apt-get install
- Reading package lists... Done
- Building dependency tree... Done
- Reading state information... Done
- The following package was automatically installed and is no longer required:
- proxmox-headers-6.2.16-15-pve
- Use 'sudo apt autoremove' to remove it.
- 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- 2 not fully installed or removed.
- After this operation, 0 B of additional disk space will be used.
- Setting up proxmox-kernel-6.2.16-18-pve (6.2.16-18) ...
- Examining /etc/kernel/postinst.d.
- run-parts: executing /etc/kernel/postinst.d/dkms 6.2.16-18-pve /boot/vmlinuz-6.2.16-18-pve
- dkms: running auto installation service for kernel 6.2.16-18-pve.
- Sign command: /lib/modules/6.2.16-18-pve/build/scripts/sign-file
- Signing key: /var/lib/dkms/mok.key
- Public certificate (MOK): /var/lib/dkms/mok.pub
- Building module:
- Cleaning build area...
- make -j12 KERNELRELEASE=6.2.16-18-pve -j12 -C /lib/modules/6.2.16-18-pve/build M=/var/lib/dkms/i915-sriov-dkms/6.2/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.2/build/make.log for more information.
- Error! One or more modules failed to install during autoinstall.
- Refer to previous errors for more information.
- dkms: autoinstall for kernel: 6.2.16-18-pve failed!
- run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
- Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-6.2.16-18-pve.postinst line 20.
- dpkg: error processing package proxmox-kernel-6.2.16-18-pve (--configure):
- installed proxmox-kernel-6.2.16-18-pve package post-installation script subprocess returned error exit status 2
- dpkg: dependency problems prevent configuration of proxmox-kernel-6.2:
- proxmox-kernel-6.2 depends on proxmox-kernel-6.2.16-18-pve; however:
- Package proxmox-kernel-6.2.16-18-pve is not configured yet.
复制代码 发现更新 proxmox-kernel-6.2.16-18-pve 内核时 核显sr-iov驱动报错,首先根据日志定位异常目录:
/var/lib/dkms/i915-sriov-dkms/6.2/build *注:这里很多人根据网上教程改的目录名为6.1,其实都一样
进入编译目录下子目录定位文件
/drivers/gpu/drm/i915 --> intel_dp.c
第一步:转到3884行(或搜索文字定位 intel_dp_mst_hpd_irq(struct intel_dp *intel_dp, u8 *esi, u8 *ack ),找到以下内容:
将原来的:
#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)
第二步:转到3996行(或搜索文字定位 ack[1] & (DP_DOWN_REP_MSG_RDY | DP_UP_REQ_MSG_RDY) ),找到以下内容:
将原来的:
#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)
保存文件.重新更新(或执行命令:sudo apt-get install)
*注:如果懒得修改可以等待PVE官方修复此问题.
异常原因:
strikes again. This time it's caused by Canonical cherry-picking the commit into their recent 6.2 release. Proxmox is unfortunately affected because they derived from the Ubuntu 23.04 base.
参考资料:
https://github.com/strongtz/i915-sriov-dkms/issues/117
|
评分
-
查看全部评分
|