缺少CUDA 6.5 / Ubuntu 14.04 / AWS EC2 GPU实例g2.2xlarge所需的drm.ko文件

6

如何在AWS EC2 g2.2xlarge实例上安装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 audit(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 audit(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 audit(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:failsafe主进程(833)被TERM信号杀死 [4.793261] type = 1400 audit(1408809904.107:8):apparmor =“STATUS” operation =“profile_replace” profile =“unconfined” name =“/ sbin / dhclient” pid = 952 comm =“apparmor_parser” [4.793267] type = 1400 audit(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] init: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(err 0) [136.370462] nvidia:未知符号drm_gem_private_object_init(err 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) 驱动程序安装无法找到内核源。请 确保内核源包已正确安装和设置。
2个回答

9

这个错误是由于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 论坛 上提出了类似的问题。


sudo apt-get install linux-image-extra-virtual 对我没有用(Ubuntu 14.04,CUDA 8.0)。然而,这个解决方案 (linux-generic) 有效。 - Poulsbo
重要的一步是通过 sudo reboot 重新启动系统。只有这样,更改才会得到反映。 - Sidak

3
实际上,在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。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接