CUDA 6.5 / Ubuntu 14.04 / AWS EC2 GPU 实例 g2.2xlarge 缺少 drm.ko

Posted

技术标签:

【中文标题】CUDA 6.5 / Ubuntu 14.04 / AWS EC2 GPU 实例 g2.2xlarge 缺少 drm.ko【英文标题】:drm.ko missing for CUDA 6.5 / Ubuntu 14.04 / AWS EC2 GPU instance g2.2xlarge 【发布时间】:2014-10-17 07:22:43 【问题描述】:

要在 AWS EC2 g2.2xlarge 实例上的 Ubuntu 14.04.1 LTS 上安装 CUDA 6.5,无论我是通过 .deb 文件还是 .run 文件安装

.sudo ./cuda_6.5.14_linux_64.run --kernel-source-path=/usr/src/linux-headers-3.13.0-34-generic

我总是收到关于缺少 drm.ko 的相同错误。代码编译似乎成功了。下面是日志。 (我在安装前重启了)

内核模块编译完成。

无法确定是否启用了安全启动:没有这样的文件或目录

内核模块加载错误:没有这样的文件或目录

内核消息:

[3.595939] type=1400 审核(1408809902.911:5):apparmor="STATUS"

operation="profile_replace" profile="unconfined"

name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=492

comm="apparmor_parser"

[3.595942] type=1400 审核(1408809902.911:6):apparmor="STATUS"

operation="profile_replace" profile="unconfined"

name="/usr/lib/connman/scripts/dhclient-script" pid=492

comm="apparmor_parser"

[3.596140] type=1400 审核(1408809902.915:7):apparmor="STATUS"

operation="profile_replace" profile="unconfined"

operation="profile_replace" profile="unconfined"

name="/usr/lib/connman/scripts/dhclient-script" pid=492

comm="apparmor_parser"

[4.696067] init:故障安全主进程 (833) 被 TERM 信号杀死

[4.793261] type=1400 审核(1408809904.107:8):apparmor="STATUS"

operation="profile_replace" profile="unconfined" name="/sbin/dhclient"

pid=952 comm="apparmor_parser"

[4.793267] type=1400 审核(1408809904.107:9):apparmor="STATUS"

operation="profile_replace" profile="unconfined"

name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=952

comm="apparmor_parser"

[5.036249] init: plymouth-upstart-bridge 主进程结束, 重生

[6.589233] 初始化:udev-fallback-graphics 主进程 (1203) 终止

状态为 1

[136.367014] nvidia:模块许可证“NVIDIA”污染内核。

[136.367019] 由于内核污染而禁用锁调试

[136.370281] nvidia:模块验证失败:签名和/或

缺少必需的密钥 - 污染内核

[136.370383] nvidia: 未知符号 drm_open (err 0)

[136.370393] nvidia: 未知符号 drm_poll (err 0)

[136.370404] nvidia: 未知符号 drm_pci_init (err 0)

[136.370449] nvidia:未知符号 drm_gem_prime_handle_to_fd(错误 0)

[136.370462] nvidia:未知符号 drm_gem_private_object_init(错误 0)

[136.370474] nvidia: 未知符号 drm_gem_mmap (err 0)

[136.370478] nvidia: 未知符号 drm_ioctl (err 0)

[136.370486] nvidia:未知符号 drm_gem_object_free (err 0)

[136.370496] nvidia: 未知符号 drm_read (err 0)

[136.370509] nvidia:未知符号 drm_gem_handle_create (err 0)

[136.370515] nvidia:未知符号 drm_prime_pages_to_sg (err 0)

[136.370550] nvidia: 未知符号 drm_pci_exit (err 0)

[136.370563] nvidia: 未知符号 drm_release (err 0)

[136.370565] nvidia: 未知符号 drm_gem_prime_export (err 0)

驱动安装找不到内核源。请 确保内核源代码包已安装并设置 正确。

【问题讨论】:

【参考方案1】:

该错误是由于缺少 NVIDIA 驱动程序所需的 drm 模块引起的。 默认情况下,Ubuntu AMI 安装最小的通用 Linux 内核(linux-image-virtual),不包括 drm 模块。 要修复它,请安装完整的通用内核 linux-image-generic。 安装 linux-image-extra-virtual 会起作用,因为它只是 linux-image-generic 的过渡包。我建议安装 linux-generic 以包括标题和图像。 总结一下:

sudo apt-get install linux-generic

AWS forum也有类似的问题

【讨论】:

sudo apt-get install linux-image-extra-virtual 对我不起作用(ubuntu 14.04,cuda 8.0)。然而,这个解决方案 (linux-generic) 做到了。 这之后的一个重要步骤是通过sudo reboot 重新启动系统。只有这样,更改才会反映出来【参考方案2】:

实际上在 GPU 实例新推出之后,apt-get upgrade 想要保留 4 个包,分别为 linux-virtuallinux-image-virtual。我仍然安装了它们,这样我就没有什么可以升级的了。 (新设置没有以前的 nvidia 或任何 nouveau 驱动程序。)

问题是linux-image-virtual 是一个没有drm.ko 的精简版本。做吧

sudo apt-get install linux-image-extra-virtual

其中包含drm.ko

然后继续使用.deb.run 文件安装CUDA。

【讨论】:

以上是关于CUDA 6.5 / Ubuntu 14.04 / AWS EC2 GPU 实例 g2.2xlarge 缺少 drm.ko的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu14.04 下安装CUDA7.5

待续Oracle VM VirtualBox+ubuntu14.04+cuda+caffe

Ubuntu14.04安装CUDA6.5

Ubuntu 14.04(x64) 安装cuda8.0

ubuntu 14.04 安装cuda,开启GPU加速

ubuntu14.04 安装 CUDA 7.5 / CUDA 8.0