Rocky Linux 8 安装nvidia英伟达A10显卡驱动

实操的操作系统是 Rocky Linux 8.7
d48b2ae4db8bb6ac2fc1207ed75fec90.png

显卡是NVIDIA英伟达 A10
fc319596fabe85b7fc2d2aa99fb2e9a4.png

方法一:手动下载驱动文件进行安装( .run 安装包)

具体步骤如下:

1.禁用系统默认的显卡驱动(Nouveau)
nouveau 是 Linux 内核自带显卡开源驱动程序,nouveau可能会与 NVIDIA 官方驱动冲突,安装的 NVIDIA 驱动模块无法正确加载(或安装失败),引发重启后系统可能黑屏、无法进入图形界面,所以在安装NVIDIA显卡驱动前,要禁用Nouveau。执行如下命令禁用Nouveau

echo -e "blacklist nouveau\\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf 

然后重新生成 initramfs:
dracut --force

initramfs 是系统启动时加载的一个临时内存文件系统,用于加载必要的驱动模块、准备环境并挂载根文件系统,是连接内核和完整 Linux 系统之间的桥梁,内核启动时会从 initramfs 中加载模块,为了让 nouveau 被禁用的配置生效,必须重新生成 initramfs,否则禁用指令只在系统运行时有效,重启后仍然会被加载。

再重启系统
reboot

重启后验证禁用默认驱动是否成功:
lsmod | grep nouveau
返回为空,无任何内容输出就代表禁用成功

2.安装与内核相关的开发包 kernel-devel 和 kernel-headers、以及必要的依赖
在安装或编译 NVIDIA 驱动时(尤其是 .run 安装方式),内核开发环境是必须的,否则会报错
先查看系统的内核版本,确保安装的 kernel-devel 和 kernel-headers 版本与当前运行的内核版本一致
uname -r
比如返回的内核版本是:4.18.0-425.3.1.el8.x86_64

这里通过系统 ISO 镜像安装相同版本的内核开发包,要先把Rocky Linux 8.7 的iso镜像(比如Rocky-8.7-x86_64-dvd1.iso)上传到系统中,上传到 /tmp 目录下,iso镜像文件内核文件所在路径为:

\BaseOS\Packages\k\kernelXXX.rpm

然后创建一个挂载目录
mkdir -p /mnt/iso

挂载Rocky-8.7-x86_64-dvd1.iso镜像文件

mount -o loop /tmp/Rocky-8.7-x86_64-dvd1.iso /mnt/iso

e26093db9ab02501137bcd6a3f3cb912.png

可以查找内核相关的 RPM 包

find /mnt/iso -name "*kernel-devel*" -o -name "*kernel-headers*"

7e4c0c18df013e62fdaf1eaded0c54f0.png

列出找到的包

ls -la /mnt/iso/BaseOS/Packages/k/kernel-\*

984f16c443562e03aafd6117ce2e851e.png

安装这两个内核 RPM 包

dnf localinstall -y /mnt/iso/BaseOS/Packages/k/kernel-devel-*.rpm  
dnf localinstall -y /mnt/iso/BaseOS/Packages/k/kernel-headers-*.rpm  

再安装必要的依赖

dnf install gcc make elfutils-libelf-devel libglvnd-devel -y

3.去官网下载安装官方 NVIDIA 驱动(下载 .run 安装包),并上传到服务器
https://www.nvidia.cn/drivers/lookup/
https://www.nvidia.com/en-us/drivers/
143e4ca39d0395796c99828101054108.png

我这里下载的版本是NVIDIA-Linux-x86_64-550.90.07.run

4.给予安装包可执行权限,并执行安装

chmod +x NVIDIA-Linux-x86_64-550.90.07.run
./NVIDIA-Linux-x86_64-550.90.07.run

26c0290069e7c4cc748bb5c69ddd9f7a.png

5439263a45751380ed2ef4959cadf477.png

如提示安装 32-bit 库,建议选择“否”除非有特殊需求
659df1a87c5dd592ba867c309141f95a.png

2ff1ae7aa8590167bd534b9d28c4495d.png

a16c1cf638b06cdea658bf92a7c4cbce.png

询问是否需要重建 initramfs?选择是重建
1fd33531759a5a14da6ae4451b6ca922.png

70decf4f1e8abc993104bbe1c4437302.png

询问是否运行nvidia-xconfig实用程序自动更新X配置文件,以便使用英伟达X驱动程序,这里选择否,不更新
61ce415b483152432d622ed9b2288527.png

d795a02a49bc45f6cfedc4acea6dee44.png

安装完成,建议重启系统
8ec4901fef17a67b44c25122cb27a6e2.png

1843decca3b7b90ea3ed7428d3d8eda0.png

6.系统重启完成后,验证安装,执行:
nvidia-smi
0fa3f3432bec1c79af479568b5c960de.png

方法二:使用官方NVIDIA CUDA仓库安装NVIDIA 显卡驱动
1.禁用Nouveau驱动(方法同上)

2.禁用 NVIDIA 驱动的模块过滤

dnf module disable -y nvidia-driver

3.安装必要的开发工具DKMS:

dnf install -y epel-release  
dnf install -y dkms  
dkms --version

4.安装kernel-devel 和 kernel-headers ,这俩的版本需要与当前运行的内核版本一致(方法同上)

5.安装gcc gcc-c++ make elfutils-libelf-devel libglvnd-devel 等必要的依赖

dnf install -y gcc gcc-c++ make elfutils-libelf-devel libglvnd-devel

6.为Rocky Linux 8添加NVIDIA的官方CUDA仓库,并开始安装NVIDIA驱动

dnf config-manager --add-repo=https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
dnf clean all  
dnf -y module install nvidia-driver:latest-dkms

latest-dkms分支会确保内核更新后驱动模块能够自动重新编译,从而保持兼容性。

7.安装完成后运行 nvidia-smi 命令,验证是否成功
nvidia-smi
0da9fa11e34af22d8266c42a11b3ff2c.png