内核升级后,dkms 不会自动重建

内核升级后,dkms 不会自动重建

正如标题所述,内核升级后,我的系统上安装的所有 DKMS 模块都不会自动重建。

# ls -la /var/lib/dkms/
total 32K
drwxr-xr-x  7 root root 4.0K May 26 11:55 .
drwxr-xr-x 86 root root 4.0K May 25 19:33 ..
drwxr-xr-x  4 root root 4.0K May 25 18:56 anbox-modules-ashmem
drwxr-xr-x  4 root root 4.0K May 25 18:57 anbox-modules-binder
drwxr-xr-x  3 root root 4.0K May  2 18:34 bbswitch
-rw-r--r--  1 root root    6 Jul  8  2008 dkms_dbversion
drwxr-xr-x  3 root root 4.0K May 26 11:55 nvidia-381
drwxr-xr-x  3 root root 4.0K May 26 11:55 virtualbox

每次内核升级后我都要手动重建它。如果有任何日志或配置需要用来诊断这个问题,我会尽快提供。

系统信息:

# lsb_release -a
LSB Version:    core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: neon
Description:    KDE neon User Edition 5.9
Release:        16.04
Codename:       xenial

# apt list dkms -a
Listing... Done
dkms/xenial-updates,xenial-updates,now 2.2.0.3-2ubuntu11.3 all [installed]
dkms/xenial,xenial 2.2.0.3-2ubuntu11 all 

编辑1:

删除 linux-image-4.8.0-52 日志:https://pastebin.com/a0L6fbFj

安装linux-image-4.8.0-52日志:(N/A)

编辑2:

dkms status

# dkms status
Error! Could not locate dkms.conf file.
File:  does not exist.

# cd /var/lib/dkms/nvidia-381/381.22/build

# ls -la dkms.conf 
-rw-r--r-- 1 root root 1,2K Mai 26 11:54 dkms.conf

# dkms status
Error! Could not locate dkms.conf file.
File:  does not exist.

ls -la /usr/src

# ls -la /usr/src/
total 44K
drwxr-xr-x 11 root root 4,0K Mai 26 16:28 .
drwxr-xr-x 12 root root 4,0K Apr 25 19:40 ..
drwxr-xr-x  2 root root 4,0K Apr 22 14:20 bbswitch-0.8
drwxr-xr-x  3 root root 4,0K Apr 29 18:50 gmock
drwxr-xr-x  4 root root 4,0K Apr 29 18:50 gtest
drwxr-xr-x 27 root root 4,0K Mai 16 18:39 linux-headers-4.4.0-78
drwxr-xr-x  7 root root 4,0K Mai 16 18:39 linux-headers-4.4.0-78-generic
drwxr-xr-x 27 root root 4,0K Mai 25 19:42 linux-headers-4.8.0-53
drwxr-xr-x  7 root root 4,0K Mai 25 19:42 linux-headers-4.8.0-53-generic
drwxr-xr-x  8 root root 4,0K Mai 20 16:43 nvidia-381-381.22
drwxr-xr-x 12 root root 4,0K Mai 11 16:31 virtualbox-5.0.40

ls /usr/src/*/dkms.conf

# ls /usr/src/*/dkms.conf
/usr/src/bbswitch-0.8/dkms.conf  /usr/src/nvidia-381-381.22/dkms.conf /usr/src/virtualbox-5.0.40/dkms.conf

答案1

来自评论...

有多个问题需要解决。

  • 我们删除了和,/usr/src/gmock因为/usr/src/gtest它们不是 dkms 软件模块。如果您出于某种原因需要此软件,请重新安装它,或创建~/src并放置 gmock/gtest 软件,然后执行适当的make命令(或其他命令)来构建该软件。

  • 我们删除了目录,因为由于卸载不完全导致/var/lib/dkms/anbox*它们缺少相关的源代码,并导致命令失败,寻找不存在的文件。/usr/src/anbox*dkms statusdkms.conf

  • 现在dkms status可以正确显示installedbbswitch、nividia 和 virtualbox dkms 软件的状态。

  • 未来的内核升级应该正确构建/重建剩余的 bbsswitch、nividia 和 virtualbox dkms 软件模块。

  • 我们还检查了 virtualbox-dkms 是否是已安装的 virtualbox 的正确版本。

相关内容