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-virtual
、linux-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的主要内容,如果未能解决你的问题,请参考以下文章