ubuntu 显卡重装driver, 安装cuda踩坑记

从毕业后大机器再没有动过,开机才发现nvidia-smi运行不了,系统报无驱动。于是长达2天的踩坑之旅,年龄大了,记忆里不好,在此记录,作为备注。

1. 下载CUDA9.1 官网,wget的速度肯定要比迅雷的快,百兆有线跑满。

2.sudo apt-get purge nvidia* 后开机黑屏,显示器橘色灯,一段时间后(几分钟)音箱有ubuntu登陆“登”一声,只有硬启动时,有时会有ubuntu的启动选项,于是按e键,在倒数第二行尾 写个3,启动后ctrl+alt+F1进入命令行,为了保证以后开机进命令行,于是操作 在/etc/default/grub里面,将GRUB_CMDLINE_LINUX_DEFAULT一行中改为"quiet splash 3"。

3.为了保证无论如何都可以局域网连接,于是修改网卡IP  在/etc/network/interface 文件尾加入 

   auto eno0

   iface eno0 inet dhcp

   这里注意,之前用的ubuntu 桌面,所以IP地址是由network-manage引起,于是参照 https://blog.csdn.net/weixin_42155195/article/details/80683166解决。

  IP地址如果配置失效,可以修改/etc/rc.local 文件 添加 

sudo ifconfig eno1 up

sudo ifconfig eno1 192.168.0.149 netmask 255.255.255.0

route add default gw 192.168.0.1

exit 0   

  即使IP地址生效,如果命令行无法sudo apt-get update DNS解析,则 修改/etc/resolv.cfg 添加nameserver 114.114.114.114 # or 8.8.8.8

4. 下载后的run包安装,sudo sh CUDA*.run,我安装时遇到问题时driver安装failed 查看log后发现是找不到linux源代码,我的ubuntu安装由于错信了网上的一些建议,将/boot分区分的太下, 所以需要人工清

dpkg --get-selections |grep linux-image 查看安装了哪些,uname -r 查看目前使用的内核,接下来就可以大胆的

sudo apt-get autoremove 哪些不需要的低版本的linux image like linux-image-4.4.0-148-generic 。autoremove 好处是把header和extra包都自动关删除了 然后可以用dpkg -P 命令去清楚那些deinstall的包

5.  安装cuda失败,报 makefile老是报“recipe for target xxx” 错误,我用到的操作 安装了DKMS包,

sudo apt-get install dkms

安装后貌似安装成功,但是无法运行nvidia-smi于是发现还是不成功,发现linux源码包没有,于是

sudo apt-get update 

sudo apt-get install linux-source

sudo apt-get source linux-image-$(uname -r)

过程中发现update更新错误,于是备份/etc/apt/source.list 并添加国内源:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

于是安装成功cuda ,cuda安装过程如果报空间不够就加入--tmpdir=(有空间的地方) 如果找不到源码可以添加–kernel-source-path=/usr/src  

If you know that the kernel source packages are installed and set up correctly, you may pass the location of the kernel source with the ‘–kernel-source-path’ flag.
对了,/usr/src 还可以看到你的显卡安装驱动版本。

6. 还有一种方法,是apt get purge nvidia-*后,使用

sudo add-apt-repository ppa:graphics-drivers/ppa 如遇证书错误,则

sudo apt-get install --reinstall ca-certificates

ubuntu-drivers devices  用来查找recommand的driver的版本eg:430 然后

sudo apt-get install nvidia-430 nvidia-prime

安装过程中如遇secure boot密码,则参看https://blog.csdn.net/roach_zfq/article/details/53883976 删除biso中的密码,

Clear Secure Boot keys

7. 我其实是先安装cuda9.1后nvidia-smi不运行后才后装的driver,cuda安装主要需要dkms,需要source 源码。

      之前从来没写过原创的csdn,这次写一是为了对两天的踩坑工作做个总结,而是最近趁工作空窗期重新看一遍linux鸟叔的私房菜,看了linux的历史,看了opensource GPL, Apache等标准,发现分享才是学习计算机的核心思想,我踩坑工作也是受很多bloger的分享才能出坑。其实搞机器学习的有几个不用别人的框架,不踩到坑。谢谢大家的分享,踩坑的过程、排错的过程才是真正进步的过程。

2020.1.12

joyivan 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值