Rocky Linux 8 安装nvidia英伟达A10显卡驱动
实操的操作系统是 Rocky Linux 8.7
显卡是NVIDIA英伟达 A10
方法一:手动下载驱动文件进行安装( .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
可以查找内核相关的 RPM 包
find /mnt/iso -name "*kernel-devel*" -o -name "*kernel-headers*"
列出找到的包
ls -la /mnt/iso/BaseOS/Packages/k/kernel-\*
安装这两个内核 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/
我这里下载的版本是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
如提示安装 32-bit 库,建议选择“否”除非有特殊需求
询问是否需要重建 initramfs?选择是重建
询问是否运行nvidia-xconfig实用程序自动更新X配置文件,以便使用英伟达X驱动程序,这里选择否,不更新
安装完成,建议重启系统
6.系统重启完成后,验证安装,执行:nvidia-smi
方法二:使用官方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