问题主要出在nvidia驱动的安装上,主要由于双显卡的原因
主要内容:安装 nvidia驱动、安装 cuda、安装 cudnn;
解决t470网卡不识别问题,系统备份方法
环境
硬件:thinkpad t470p(940mx)
软件:ubuntu 14.04.5、显卡驱动版本375.66、cuda8.0、cudnn5.1
安装nvidia驱动
简单的方法是 在“附加驱动”里更新为官方闭源驱动,或者 apt-get install nvidia-*
但在这里会导致 reboot 后一直卡在 开机界面 (ctrl+alt+f1可以进命令行,推测是opengl的原因导致图形界面启动失败)
runfile 安装
大致的思路是:禁用ubuntu默认的开源驱动nouveau -> 禁用桌面X服务 -> 安装驱动 -> 开启X服务
1)禁用nouveau
编辑黑名单文件 /etc/modprobe.d/blacklist.conf
在文末添加(参考这里)
blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv
更新状态
sudo update-initramfs -u
重启系统,检查nouveau是否禁用成功(没有输出)
lsmod | grep nouveau
2)禁用X服务
sudo service lightdm stop
此时桌面黑屏,切换到命令行界面(ctrl+alt+f1)
3)安装驱动
给 runfile 增加 执行权限
sudo chmod +x NVIDIA-Linux-x86_64-375.66.run
安装(参考这里)
sudo ./NVIDIA-Linux-x86_64-375.66.run -no-opengl-files
注意: a. 使用 ./ 的执行方式
b. 添加安装参数no-opengl-file(只安装驱动,不安装OpenGL)
(如果安装OpenGL会导致X服务启动失败的循环登录)
c.对于UEFI启动的主板,需要进 Bios 关闭 secure boot
4)验证
这种方式安装的驱动,显示还是用的集显,因此系统信息里图形选项仍然是 intel*
nvidia-prime 也无法找到独显
使用 nvidia-smi 可以看到显卡信息,说明安装成功
安装CUDA + cudnn
cuda的安装与nvidia驱动的安装思路类似,需要首先关闭图形界面,安装完成后再开启。一个关键点是,使用runfile的方式(deb的方式会再次安装nvidia驱动)
runfile 安装cuda
1)禁用 nouveau 和 X 服务(同上节)
2)安装
sudo sh cuda_8.0.61_375.26_linux.run
注意:安装过程会有多次输入提示,“是否安装 nvidia driver”一项选 no,其他 yes
3)设置环境变量
重启系统,编辑文件 ~/.bashrc,文末添加路径
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64:$LD_LIBRARY_PATH
4)验证
进入 ~/NVIDIA_CUDA-8.0_Samples,执行 make (需要大概10分钟)
进入 ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release ,执行
./deviceQuery
安装 cudnn
首先将 include 和 lib64 里的文件分别 cp 到
/usr/local/cuda/include/
/usr/local/cuda/lib64/
然后 cd 到 /usr/local/cuda/lib64/,为 libcudnn.so.5 和 libcudnn.so.5.1.10 建立软链接
sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
附加
解决ubuntu下t470有线网卡的问题
t470使用的网卡为 i219-v,在ubuntu下(测试了14.04和16.04)不被识别(ifcinfig 只有本地环回)
因此需要下载对应驱动,手动安装
参考这里,到 intel 官网下载 e1000e 驱动
1)解压缩驱动包
2)进入 src/,make install 编译
3)sudo modprobe e1000e
,然后就能看到右上角网络连接上了
注意:需要关闭 Bios 里 secrue boot 才能成功
ubuntu下t470无线网卡的问题
t470无线网卡为 intel 8265,到这里下载相应的 iwlwifi 驱动
将驱动解压缩,cp 到目录,然后 reboot 就可以了
cp iwlwifi-*.ucode /lib/firmware
但这里8265的驱动对应 4.6 以上的内核,而ubuntu14.04.5 目前最高内核为 4.4
因此暂时只能使用外置usb网卡实现
系统备份
前面安装的驱动不能随便升级和修改,否则系统很容易挂掉(本人安装了搜狗输入法后系统卡在开机界面)
因此备份很重要
这里使用Remastersys实现
官网找不到,到这里下载 remastersys_3.0.4-2_all.deb 和 remastersys-gui_3.0.4-1_amd64.deb
sudo dpkg -i remastersys_3.0.4-2_all.deb
sudo dpkg -i remastersys-gui_3.0.4-1_amd_64.deb
# 缺少依赖就用
sudo apt-get -f install
# 修复
使用命令 sudo remastersys-gui
打开图形界面
注意:U盘启动时需要将 bios 里的 “仅允许UEFI启动”修改