Ubuntu系统的从头安装、显卡驱动与CUDA安装

如题。

一、特定版本显卡支持的系统的核实

可以在下面的网址进行查询,找到适合版本的显卡驱动,以及合适的系统:

https://www.nvidia.cn/drivers/lookup/

image.png

经过查询,我们要安装的显卡支持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

1734854670574.png

我们使用rufus进行启动盘制作,需要一块格式化过的空U盘。Rufus设备选项的配置如下:

image.png

点击开始按钮,rufus会自动进行启动盘的分区与镜像写入,并开始走进度条。等进度条走完,即可关闭rufus这个界面,拔出U盘。

三、BIOS配置更改与新系统安装

(一)BIOS配置更改

由于GPU设备的特殊性,需要在BIOS里开启 “Memory Map IO above 4GB” 这个选项。

下面是具体流程:

开机,当屏幕上显示出电脑厂商logo时按下键盘上的F12按钮(有些电脑则是按F2或者Shift,具体需要查询设备制造商),这将会进入BIOS设置界面。

通过键盘方向键移动光标,进入bios configuration,在这个页面里寻找“Memory Map IO above 4GB” 这个选项并将其打开。

随后,保存配置,电脑会自动重启。

image.png

(二)新系统安装:

在关机状态下插入我们刚刚制作好的启动盘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 改成具体的用户名即可(如下图)。

1734855184679.png

2、检查系统相关信息

可以使用下面这些指令查询:

1
2
3
4
5
lsb_release -a # 查询系统发行版信息
uname -r # 查询内核版本号
df -h # 查询硬盘使用情况
free -h # 查询内存使用情况
cat /proc/cpuinfo # 查询CPU信息

例如下图:

1734855283417.png

五、安装显卡驱动与CUDA Toolkit的尝试

(一)下载合适版本的runfile文件

网站:

https://developer.nvidia.com/cuda-downloads

从上述网站中搜索适合自己系统的CUDA版本,然后下载runfile文件。

image.png

(二)检查显卡供电,禁用开源驱动

使用 dmesg 指令做查询。如果显卡有问题,会有下面这些报错信息:

image.png

此时需要去禁用一下开源驱动并重启。

1
2
3
4
sudo echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
sudo echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
sudo reboot

如果没有,说明显卡连接和供电是正常的。

(三)使用runfile安装驱动

需要在 dmesg 指令检查无报错的前提下进行这一步的操作。

1
2
# 假设我们刚刚下载的runfile文件是 ./cuda_12.6.3_560.35.05_linux.run 
sudo sh ./cuda_12.6.3_560.35.05_linux.run

accept一下EULA协议,然后安装选项都使用默认设置即可。

安装完成以后,记得去 /etc/profile 文件中修改一下环境变量(我们安装的是CUDA12.6因此这里就写 cuda-12.6 ,如果是别的版本的CUDA,路径里面的版本号要改为对应版本):

image.png

然后再次重启。

当然也可以用 sudo apt install nvidia-driver-550 指令安装驱动和cuda。其与runfile安装方式基本等价。

如果安装一切顺利,则 nvidia-smi 指令可以正常输出如下图所示的显卡信息:

1734855786249.png

六、一些有用的指令

如图(markdown表格放shell指令不方便,就直接截图了):

image.png

这些指令的可复制文本:

  • lspci|grep -i nvidia
  • sudo lsmod|grep -i nvidia
  • sudo modprobe nvidia
  • nvidia-smi
  • sudo dmesg

下图是安装过程中的一个示例,当时显卡的PCI连接正常,但内核模块找不到相关文件,nvccnvidia-smi指令均可以运行,但是连接不到显卡(couldn't communicate with the NVIDIA driver )。这种状态就说明驱动没装好,需要排查问题之后重新安装。

1734856069491.png

七、一些有用的网站

另外,排查问题时也参考过一些博客或文章,下面一并列举: