实验室最近又增加了RTX2080Ti服务器,再给服务器装系统的过程中,发现由usb引导安装ubuntu时,出现由于显卡不支持图形化界面导致的黑屏。
boot设置:
选择usb boot后:
黑屏且只有一个光标闪烁。
一般这种情况都是由于显卡与ubuntu桌面不兼容导致的,因此选择跳过桌面加载过程,在usb boot是按control,进入设置界面:
在安装页面按F6选择nomodeset模式,再选择Install Ubuntu选项就可以进入正常的图形化安装界面:
一下就和正常安装ubuntu一样了,可以设置一下分区(拍得不是很清楚zzzzz):
这里面/dev/nvme0n1是一个固态硬盘,也是我们装入系统的盘。/dev/sda是一个机械硬盘,用来存储数据。/dev/sdb是我安装系统使用的闪存盘。具体的信息可以在下面的下拉菜单里面找到。(依然看不清楚(;д;))。
知道了用处我们就可以做出分区选择:将/dev/nvme0n1作为根目录(/)分区,使用ext4格式化;/dev/sda划分256,000MB作为交换分区(swap);其余的使用ext4格式化为数据分区(/data)。示例如下:
选择根目录分区:
选择数据分区:
最终的分区状态(模糊到变形ヽ(ー_ー)ノ):
接下来就可以开始安装了,国内的同学建议安装前不要联网。ubuntu在安装过程中会下载语言包等安装包,断开网络可以显著提高安装速度,缺少的包可以在换了国内软件源之后补上,安装后就可以出现登录界面了:
可以看到界面比较简单,分辨率较低。这是由于我们没有使用完整的图形界面,后面会有解决方法。
安装成功后,我们就可以开始配置一台基本的深度学习服务器了,首先就是更换国内的软件源。先备份原有的源文件
sudo cp /etc/apt/sources.list sources.list.bak
创建自己的source.list文件,将国内源地址复制进去,这里从下面得到清华软件源的地址:
清华开源镜像
有了国内源,就可以较快安装并更新系统软件了,首先更新软件列表
sudo apt-get update
接下来安装并开启ssh服务
sudo apt-get install openssh-server
sudo service ssh start
如果没安装ifconfig命令,可以使用
sudo apt install net-tools
查看本机ip
ifconfig | grep inet
这样我们就可以从自己的电脑上远程配置服务器了,不用在机房里面吃灰(;へ:)。
安装之前,可以先更新一下软件(如果你计划不安装最近版本,谨慎更新软件,会引入许多高版本的依赖)
sudo apt-get upgrade
nvidia显卡驱动可以从nvidia显卡驱动下载,根据自己的显卡型号选择对应的驱动。安装时,参考官方的安装教程nvidia安装教程。
首先确定满足最小的依赖选项最小依赖项。我这里只缺少GNU make以及gcc,所以安装
sudo apt install make
sudo apt install gcc
这里我使用nvidia .run文件安装,比较简单。首先停止图形化界面:
发现并没有图形化界面,这与我们之前的发现也一致。
卸载之前的nvidia驱动:
sudo apt autoremove –purge nvidia-*
更改驱动文件权限
chmod 777 .run
直接执行就可以了
./.run
可能会跳出这些界面:
gcc版本等于或者稍微高于版本都是可以的
选择好这些选项nvidia驱动就安装好了,可以执行nvidia-smi命令验证一下:
这时候我们选择重启计算机,系统不会正常显示图形界面,而是会出现:
这是由于我们并没有可以从nvidia显卡运行的图形化界面,但系统已经正常启动了,我们可以通过ssh登录系统,启动图形化界面。
首先安装:
sudo apt install lightdm
安装过程选择lightdm,并启动
sudo service lightdm start
再重启计算机,就可以有正常的界面了
可以看到分辨率高了不少,同时显卡也在运行界面:
至此我们显卡与图形界面不匹配的ubuntu系统安装就完成了。
cuda以及cudnn安装都很简单,参考官方教程就可以了
cuda安装官方教程
cudnn安装官方教程
其中,安装cuda最简单的方式就是下载对应的.run文件,然后执行
chmod 777 .run
./.run
如果你需要的nvidia显卡驱动较高,安装过程选择就不安装nvidia显卡驱动。
这样的cuda基本上可以运行,但如果需要编译有cuda依赖的程序,可能会有找不到cuda的情况,这时可以将cuda路径添加到系统路径里面(按需调整路径)
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
经过这样的操作,就可以直接复制cudnn文件
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
把握起见,可以编译一下cuda或者cudnn的验证程序,或者直接运行深度学习框架测试。