Ubuntu系统的从头安装、显卡驱动与CUDA安装
如题。
一、特定版本显卡支持的系统的核实
可以在下面的网址进行查询,找到适合版本的显卡驱动,以及合适的系统:
https://www.nvidia.cn/drivers/lookup/
经过查询,我们要安装的显卡支持Ubuntu24.04 LTS系统,因此我们可以安装这一系统。
二、系统镜像下载与启动盘制作
Ubuntu官方网站是 https://ubuntu.com/download
里面提供了Desktop版系统和Server版系统两种不同的系统版本,区别在于Desktop版自带桌面,Server版不带桌面但是带有一些和服务器部署有关的服务。
为了加快下载速度,我们可以在清华大学镜像站上下载镜像文件。
在清华大学镜像站上搜索ubuntu-release,找到ubuntu发行版的启动盘iso镜像文件。
下载链接: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04.1/ubuntu-24.04.1-live-server-amd64.iso
我们使用rufus进行启动盘制作,需要一块格式化过的空U盘。Rufus设备选项的配置如下:
点击开始按钮,rufus会自动进行启动盘的分区与镜像写入,并开始走进度条。等进度条走完,即可关闭rufus这个界面,拔出U盘。
三、BIOS配置更改与新系统安装
(一)BIOS配置更改
由于GPU设备的特殊性,需要在BIOS里开启 “Memory Map IO above 4GB” 这个选项。
下面是具体流程:
开机,当屏幕上显示出电脑厂商logo时按下键盘上的F12按钮(有些电脑则是按F2或者Shift,具体需要查询设备制造商),这将会进入BIOS设置界面。
通过键盘方向键移动光标,进入bios configuration,在这个页面里寻找“Memory Map IO above 4GB” 这个选项并将其打开。
随后,保存配置,电脑会自动重启。
(二)新系统安装:
在关机状态下插入我们刚刚制作好的启动盘U盘。
开机,当屏幕上显示出电脑厂商logo时按下键盘上的F12按钮(有些电脑则是按F2或者Shift,具体需要查询设备制造商),这将会进入BIOS设置界面。在这个界面里通过键盘方向键移动光标,选择U盘启动的选项(一般会是Udisk或者xxx UData Driver之类名称。此处无图)。
按下回车键,即可从启动盘启动。此时会进入系统安装的界面,这里面的大部分选项都使用默认参数即可,不需要改,直接选done即可。
一些需要注意的地方:
(1)网络设置这里,一般来说使用自动分配的IP地址即可。但是在一些单位或者公司内网,由于网络环境的特殊性,可能需要需要手动绑定IP地址。
首先需要将设备的mac地址报给网管老师(获取mac地址的方法此处略过),并从网管老师那里获得一个分配好的IP地址(此处假设是 192.168.xxx.yyy
)。在系统安装的网络设置界面,选择网卡,进入配置,然后依次输入下面这些值,保存以后等它自己完成一次apply即可。
选项 | 含义 | 值 | 备注 |
---|---|---|---|
Subnet | 子网掩码 | 10.10.0.0/16 |
斜杠后的数字取10-22之间的值,但是需要依次尝试有效的数值 |
Address | 主机IP地址 | 192.168.xxx.yyy |
由网管老师分配 |
Gateway | 网关 | 略 | 询问网管老师获得 |
Name servers | DNS服务器 | 略 | 询问网管老师获得 |
Search domain | 搜索域 | - | 可以不填 |
(2)硬盘设置。注意可能会有一个free space 的空间没有分配,这里需要记得分配一下,将其挂载到分区 /home
。
完成安装以后根据提示移除启动盘U盘并重启即可。
四、安装之后要做的事情
1、新建用户并授予sudo权限
(1)新建用户:使用 sudo adduser <username>
建立。
(2)授予sudo权限:使用root用户身份编辑 /etc/sudoers
文件,将 root ALL=(ALL:ALL) ALL
这一行复制到新的一行,并把 root
改成具体的用户名即可(如下图)。
2、检查系统相关信息
可以使用下面这些指令查询:
1 | lsb_release -a # 查询系统发行版信息 |
例如下图:
五、安装显卡驱动与CUDA Toolkit的尝试
(一)下载合适版本的runfile文件
网站:
https://developer.nvidia.com/cuda-downloads
从上述网站中搜索适合自己系统的CUDA版本,然后下载runfile文件。
(二)检查显卡供电,禁用开源驱动
使用 dmesg
指令做查询。如果显卡有问题,会有下面这些报错信息:
此时需要去禁用一下开源驱动并重启。
1 | sudo echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf |
如果没有,说明显卡连接和供电是正常的。
(三)使用runfile安装驱动
需要在 dmesg
指令检查无报错的前提下进行这一步的操作。
1 | 假设我们刚刚下载的runfile文件是 ./cuda_12.6.3_560.35.05_linux.run |
accept一下EULA协议,然后安装选项都使用默认设置即可。
安装完成以后,记得去 /etc/profile
文件中修改一下环境变量(我们安装的是CUDA12.6因此这里就写 cuda-12.6
,如果是别的版本的CUDA,路径里面的版本号要改为对应版本):
然后再次重启。
当然也可以用 sudo apt install nvidia-driver-550
指令安装驱动和cuda。其与runfile安装方式基本等价。
如果安装一切顺利,则 nvidia-smi
指令可以正常输出如下图所示的显卡信息:
六、一些有用的指令
如图(markdown表格放shell指令不方便,就直接截图了):
这些指令的可复制文本:
lspci|grep -i nvidia
sudo lsmod|grep -i nvidia
sudo modprobe nvidia
nvidia-smi
sudo dmesg
下图是安装过程中的一个示例,当时显卡的PCI连接正常,但内核模块找不到相关文件,nvcc
和nvidia-smi
指令均可以运行,但是连接不到显卡(couldn't communicate with the NVIDIA driver
)。这种状态就说明驱动没装好,需要排查问题之后重新安装。
七、一些有用的网站
- 清华大学Linux镜像站(ubuntu24.04.1系统镜像下载页面): https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04.1/
- CUDA安装教程: https://docs.nvidia.com/cuda/archive/12.4.0/cuda-installation-guide-linux/index.html#additional-package-manager-capabilities
- 同样是CUDA安装教程: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
- CUDA runfile下载页面: https://developer.nvidia.com/cuda-downloads
- NVIDIA驱动安装教程: https://docs.nvidia.com/vgpu/gpus-supported-by-vgpu.html
- 同样是NVIDIA驱动安装教程: https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/index.html
另外,排查问题时也参考过一些博客或文章,下面一并列举:
- https://zhuanlan.zhihu.com/p/89714824
- https://forums.developer.nvidia.com/t/nvrm-this-pci-i-o-region-assigned-to-your-nvidia-device-is-invalid/229899
- https://www.cnblogs.com/nannandbk/p/18144618
- https://blog.csdn.net/liuyang_xyz/article/details/120684134
- https://blog.csdn.net/qq_64671439/article/details/135730107
- https://blog.csdn.net/very_big_house/article/details/135626122