Debian 12 安装Nvidia GPU Driver[机器学习环境搭建]

2,394 阅读3分钟

本文参考机器学习环境搭建,唯一的区别在于Linux是Debian 12 而不是Ubuntu Server 22.04 LTS。演示的环境的硬件为AWS EC2 g4dn机型,它搭载了一颗服务器专用的T4 Tensor Core GPUAmazon EC2 G4dn 实例专用于加速机器学习推理和图形密集型工作负载,它搭载的T4 Tensor Core GPU有16GB的显存,非常适合中等负荷下的AI场景。本次我使用的是最经济的g4dn.xlarge。你自己也可以组装在你的个人电脑(需要Nvidia消费级显卡)上正常复现安装流程。

选择Debian 12的原因是因为相比Ubuntu Server LTS,Debian没有商业化气息,没有预装乱七八糟的无用的软件,更加稳定和纯洁。

同时Ubuntu Server LTS会定期更新Linux 内核版本,有些Linux 内核版本还不一定是LTS版,虽然从新硬件的支持和软件新特性的角度来看有好处,但是服务器场景用起来总感觉不如CentOS/RHEL和Debian稳定而且可能有软件兼容性问题。总之见仁见智吧~

安装Nvidia Driver

检查Linux服务器上的VGA显卡信息,我们可以看到Nvidia GPU的具体型号

lspci -nn | egrep -i "3d|display|vga"

image

修改/etc/apt/sources.list,确保添加了contribnon-freenon-free-firmware组件

我的设置如下:

#deb cdrom:[Debian GNU/Linux 12.5.0 _Bookworm_ - Official amd64 DVD Binary-1 with firmware 20240210-11:28]/ bookworm contrib main non-free-firmware

deb http://mirrors.huaweicloud.com/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://mirrors.huaweicloud.com/debian/ bookworm main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://mirrors.huaweicloud.com/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src http://mirrors.huaweicloud.com/debian/ bookworm-updates main contrib non-free non-free-firmware

image

先更新Linux并安装必要的编译组件

sudo apt update -y && sudo apt upgrade -y && sudo apt install vim gcc g++ make python3-pip -y
# 重启
sudo reboot

image

安装必要的nvidia gpu驱动依赖组件

sudo apt install nvidia-detect -y
sudo apt install linux-headers-amd64 linux-headers-$(uname -r) dkms -y
# 重启
sudo reboot

image

安装nvidia gpu驱动

sudo apt install nvidia-driver firmware-misc-nonfree -y
# 检查
nvidia-smi
# 重启
sudo reboot

再次检查驱动安装情况

nvidia-smi

image

关于安全启动

如果你前面执行nvidia-smi后发现无法显示正确的显卡信息,出现类似:xx的错误。那么一般就是你的电脑设置了安全启动导致的驱动无法正常加载

我们可以执行如下命令检查自己的电脑是否开启了安全启动

sudo mokutil --sb-state

如下图就是开启安全启动后的效果

如果你电脑设置安全启动,我们需要手动进行启动密钥导入动作,导入时需要我们2次手动填入密码

mokutil --import /var/lib/dkms/mok.pub

image 设置完成后我们需要reboot系统,这是在启动的时候,会被要求输入密码,这个密码是我们上一步设置的密码。界面类似这样

当我们密码设置正确后,进入系统,再次执行nvidia-smi会发现显卡被正确识别。

image

参考