找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2652|回复: 4

[虚拟机相关] PVE更新内核6.2.16-18-pve失败的解决办法(i915-sriov-dkms 编译异常)

[复制链接]
发表于 2023-10-28 09:30 | 显示全部楼层 |阅读模式
    今天日常更新PVE(PROXMOX)版本,发现提示异常:

  1. 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)
  2. Error! Bad return status for module build on kernel: 6.2.16-18-pve (x86_64)
  3. Consult /var/lib/dkms/i915-sriov-dkms/6.2/build/make.log for more information.
  4. Error! One or more modules failed to install during autoinstall.
  5. Refer to previous errors for more information.
  6. dkms: autoinstall for kernel: 6.2.16-18-pve failed!
  7. run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
  8. Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-6.2.16-18-pve.postinst line 20.
  9. dpkg: error processing package proxmox-kernel-6.2.16-18-pve (--configure):
  10. installed proxmox-kernel-6.2.16-18-pve package post-installation script subprocess returned error exit status 2
  11. dpkg: dependency problems prevent configuration of proxmox-kernel-6.2:
  12. proxmox-kernel-6.2 depends on proxmox-kernel-6.2.16-18-pve; however:
  13.   Package proxmox-kernel-6.2.16-18-pve is not configured yet.

  14. dpkg: error processing package proxmox-kernel-6.2 (--configure):
  15. dependency problems - leaving unconfigured
  16. Errors were encountered while processing:
  17. proxmox-kernel-6.2.16-18-pve
  18. proxmox-kernel-6.2
  19. E: Sub-process /usr/bin/dpkg returned an error code (1)
  20. root@pve:~# sudo apt-get install
  21. Reading package lists... Done
  22. Building dependency tree... Done
  23. Reading state information... Done
  24. The following package was automatically installed and is no longer required:
  25.   proxmox-headers-6.2.16-15-pve
  26. Use 'sudo apt autoremove' to remove it.
  27. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  28. 2 not fully installed or removed.
  29. After this operation, 0 B of additional disk space will be used.
  30. Setting up proxmox-kernel-6.2.16-18-pve (6.2.16-18) ...
  31. Examining /etc/kernel/postinst.d.
  32. run-parts: executing /etc/kernel/postinst.d/dkms 6.2.16-18-pve /boot/vmlinuz-6.2.16-18-pve
  33. dkms: running auto installation service for kernel 6.2.16-18-pve.
  34. Sign command: /lib/modules/6.2.16-18-pve/build/scripts/sign-file
  35. Signing key: /var/lib/dkms/mok.key
  36. Public certificate (MOK): /var/lib/dkms/mok.pub

  37. Building module:
  38. Cleaning build area...
  39. 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)
  40. Error! Bad return status for module build on kernel: 6.2.16-18-pve (x86_64)
  41. Consult /var/lib/dkms/i915-sriov-dkms/6.2/build/make.log for more information.
  42. Error! One or more modules failed to install during autoinstall.
  43. Refer to previous errors for more information.
  44. dkms: autoinstall for kernel: 6.2.16-18-pve failed!
  45. run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
  46. Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-6.2.16-18-pve.postinst line 20.
  47. dpkg: error processing package proxmox-kernel-6.2.16-18-pve (--configure):
  48. installed proxmox-kernel-6.2.16-18-pve package post-installation script subprocess returned error exit status 2
  49. dpkg: dependency problems prevent configuration of proxmox-kernel-6.2:
  50. proxmox-kernel-6.2 depends on proxmox-kernel-6.2.16-18-pve; however:
  51.   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


评分

参与人数 1恩山币 +1 收起 理由
无名_YQ + 1 好好好

查看全部评分

发表于 2023-10-30 17:29 | 显示全部楼层
好帖子,跟着做确实就编译成功了,搞一天了,全网就搜索出来你有关于这个问题的,其它都找不到。我早上就搜的这个帖子了,一开始感觉太麻烦,不会操作,于是又是重装PVE什么的。最后还是回到这个帖子,认认真真看看了,操作了一遍,其实就是改了两个IF判断,后悔了,白白浪费一天时间。感谢感谢。

点评

感谢回复,能帮助到你是我的荣幸..  详情 回复 发表于 2023-11-5 17:40
回复 支持 反对

使用道具 举报

发表于 2023-11-3 17:44 | 显示全部楼层
同上,好帖子!测试有效,感谢分享!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-5 17:40 | 显示全部楼层
无名_YQ 发表于 2023-10-30 17:29
好帖子,跟着做确实就编译成功了,搞一天了,全网就搜索出来你有关于这个问题的,其它都找不到。我早上就搜 ...

感谢回复,能帮助到你是我的荣幸..
回复 支持 反对

使用道具 举报

发表于 2023-11-9 10:52 | 显示全部楼层
最后顶第三个~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-7 11:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表