AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1132744
Accepted
ezekiel
ezekiel
Asked: 2019-04-11 05:42:18 +0800 CST2019-04-11 05:42:18 +0800 CST 2019-04-11 05:42:18 +0800 CST

Ubuntu 服务器 16.04 上的 DKMS

  • 772

最近的内核更新破坏了我的 Cuda 安装(如果我启动旧内核,它工作正常) - 非常相似的设置在其他机器上的内核更新中持续存在,主要区别在于这个安装是 Ubuntu Server 而其他的是 Ubuntu Desktop。这听起来像是 DKMS 问题吗?或者是其他东西?如何让我的 cuda 模块针对新内核构建自己?

我有 Ubuntu 16.04、Cuda 10.0(由本地 .deb 安装)、nvidia 驱动程序 410.48(在 cuda 安装期间自动安装)和 2080Ti GPU

$ ls -al /boot
total 111740
drwxr-xr-x  3 root root     4096 Apr  9 12:02 .
drwxr-xr-x 24 root root     4096 Apr  4 16:53 ..
-rw-r--r--  1 root root  1252376 Jan 16 23:29 abi-4.4.0-142-generic
-rw-r--r--  1 root root   190580 Jan 16 23:29 config-4.4.0-142-generic
-rw-r--r--  1 root root   190580 Mar 26 14:02 config-4.4.0-145-generic
drwxr-xr-x  5 root root     4096 Apr  9 12:02 grub
-rw-r--r--  1 root root 50832836 Apr  4 16:54 initrd.img-4.4.0-142-generic
-rw-r--r--  1 root root 39170185 Apr  9 11:15 initrd.img-4.4.0-145-generic
-rw-r--r--  1 root root   182704 Jan 28  2016 memtest86+.bin
-rw-r--r--  1 root root   184380 Jan 28  2016 memtest86+.elf
-rw-r--r--  1 root root   184840 Jan 28  2016 memtest86+_multiboot.bin
-rw-r--r--  1 root root      255 Jan 16 23:29 retpoline-4.4.0-142-generic
-rw-------  1 root root  3904797 Jan 16 23:29 System.map-4.4.0-142-generic
-rw-------  1 root root  3906115 Mar 26 14:02 System.map-4.4.0-145-generic
-rw-------  1 root root  7184032 Jan 16 23:29 vmlinuz-4.4.0-142-generic
-rw-------  1 root root  7188984 Mar 27 10:03 vmlinuz-4.4.0-145-generic

$ dkms status
bbswitch, 0.8, 4.4.0-142-generic, x86_64: installed
bbswitch, 0.8, 4.4.0-145-generic, x86_64: installed
nvidia-410, 410.48, 4.4.0-142-generic, x86_64: installed

$ ls -al /usr/src
total 44
drwxr-xr-x 11 root root 4096 Apr  9 12:02 .
drwxr-xr-x 12 root root 4096 Mar 14 12:56 ..
drwxr-xr-x  2 root root 4096 Mar 14 11:05 bbswitch-0.8
drwxr-xr-x  5 root root 4096 Mar 14 14:55 cudnn_samples_v7
drwxr-xr-x  3 root root 4096 Mar 14 12:56 gmock
drwxr-xr-x  4 root root 4096 Mar 14 12:56 gtest
drwxr-xr-x 27 root root 4096 Feb 27 18:41 linux-headers-4.4.0-142
drwxr-xr-x  7 root root 4096 Feb 27 18:43 linux-headers-4.4.0-142-generic
drwxr-xr-x 27 root root 4096 Apr  4 16:53 linux-headers-4.4.0-145
drwxr-xr-x  7 root root 4096 Apr  4 16:53 linux-headers-4.4.0-145-generic
drwxr-xr-x  8 root root 4096 Mar 14 14:49 nvidia-410-410.48

$ ls -alR /var/lib/dkms
[Very long output] https://pastebin.com/RRMsBT0s
server cuda 16.04 dkms
  • 1 1 个回答
  • 967 Views

1 个回答

  • Voted
  1. Best Answer
    heynnema
    2019-04-12T09:04:41+08:002019-04-12T09:04:41+08:00

    $ dkms 状态

    bbswitch, 0.8, 4.4.0-142-generic, x86_64: installed
    bbswitch, 0.8, 4.4.0-145-generic, x86_64: installed
    nvidia-410, 410.48, 4.4.0-142-generic, x86_64: installed
    

    这向我们展示了 nvidia-410 dkms 驱动程序不是基于内核 4.4.0-145-generic 构建的。应该有第 4 行,如下所示:

    nvidia-410, 410.48, 4.4.0-145-generic, x86_64: installed
    

    谁知道为什么它没有建立在 -145 内核上……那里有一个 dkms.conf 文件。

    Cuda 10.0 可以从这里下载。安装文档在这里。

    下载 Cuda 包并重新安装。然后执行dkms status命令并验证它是否显示第 4 行,如上所示。

    注意:如果您想要更新版本的 Nvidia 驱动程序,最新版本是 418.56。我不能说它是否与 Cuda 10.0 兼容。

    注意:如果 Cuda/Nvidia 软件包中存在错误,您可能必须在每次更新内核时都这样做:-(

    更新#1:

    最近的更新导致 Nvidia 视频驱动程序 410 不在当前内核上构建。

    Cuda 10.0 安装 Nvidia 视频驱动程序 410。

    Cuda 10.1 与 Nvidia 视频驱动程序 418 一起安装。

    Cuda 10.1 存在 tensorflow 问题。

    用户需要带有工作的 Nvidia 视频驱动程序的 Cuda 10.0。

    用户正在向 Nvidia 请求进一步的帮助。

    更新#2:

    尝试这个...

    删除 Cuda 10.1 和视频驱动程序 418。

    重新安装 Cuda 10.0 和视频驱动程序 410。

    这将使您回到初始状态。

    让我们尝试手动构建 410 驱动程序...

    sudo dkms build nvidia-410/410.48# 构建可能会失败,但请给我们一个理由

    sudo dkms install nvidia-410/410.48# 如果构建是干净的,则运行

    dkms status# 在当前内核上验证 410 安装

    更新#3:

    事实证明,安装 Cuda 10.0/10.1 并不会自动安装 Nvidia 视频驱动程序,反之亦然。

    最终的解决方案是让用户手动安装所需的 Cuda 10.0,并手动安装最新的 Nvidia 视频驱动程序 418.56,一切都恢复正常了。

    • 1

相关问题

  • 使用 dpkg 手动安装软件包是否会阻止未来的升级路径?

  • 如何从命令行刻录双层 dvd iso

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve