正如标题所述,内核升级后,我的系统上安装的所有 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 status
dkms.conf
现在
dkms status
可以正确显示installed
bbswitch、nividia 和 virtualbox dkms 软件的状态。未来的内核升级应该正确构建/重建剩余的 bbsswitch、nividia 和 virtualbox dkms 软件模块。
我们还检查了 virtualbox-dkms 是否是已安装的 virtualbox 的正确版本。