[email protected]离线iso + run安装NVIDIA驱动

Rocky Linux 是一个开源、企业级操作系统,旨在与 Red Hat Enterprise Linux (RHEL) 9.5 完全兼容,提供稳定、社区支持的免费替代方案。

env

  • rockylinux9

1. 准备工作

1.1 检查 GPU 型号

执行以下命令检查 GPU 型号:

1
lspci | grep -i nvidia

示例输出:

01:00.0 VGA compatible controller: NVIDIA Corporation TU117 [GeForce GTX 1650] (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0fb9 (rev a1)

这表明 GPU 为 NVIDIA GeForce GTX 1650。

1.2 下载驱动

根据 GPU 型号、操作系统(Linux 64-bit)和驱动类型(例如 Production Branch)选择并下载合适的驱动。对于 GTX 1650,驱动版本可能为 550.120

将驱动文件(例如 NVIDIA-Linux-x86_64-550.120.run)保存到 U 盘或其他可访问位置。

1.3 准备依赖项

NVIDIA 驱动安装需要某些依赖项。由于是离线安装,需在有网络的系统上提前下载以下与 Rocky Linux 9 兼容的软件包:

1.3.1 所需依赖项

  • kernel-devel:必须与当前内核版本匹配。
  • kernel-headers:必须与当前内核版本匹配。
  • gccmakedkmslibglvnd-glxlibglvnd-opengllibglvnd-develelfutils-libelf-devel

⚠️:安装kernel相关包必须和当前内核版本保持一致,否则升级到一致

检查当前内核版本:

1
uname -r

示例输出:5.14.0-362.24.1.el9_3.x86_64

下载对应的 kernel-develkernel-headers 软件包,例如:

  • kernel-devel-5.14.0-362.24.1.el9_3.x86_64.rpm
  • kernel-headers-5.14.0-362.24.1.el9_3.x86_64.rpm

1.3.2 下载仓库

下载 Rocky Linux 9 的必要仓库:

  • BaseOS:包含核心系统软件包。
  • AppStream:包含额外软件包。
  • CRB(CodeReady Builder):包含开发库和工具。

rockylinux9 iso dvd 挂载

下载所需的 RPM 软件包,保存到目录,例如 /path/to/repo

1.3.3 创建本地仓库

将下载的 RPM 软件包复制到离线系统,例如 /path/to/repo,然后创建本地仓库:

1
createrepo /path/to/repo

编辑 /etc/yum.repos.d/local.repo 配置本地仓库:

1
2
3
4
5
[local-repo]
name=Local Repository
baseurl=file:///path/to/repo
enabled=1
gpgcheck=0

1.4 安装依赖项

使用本地仓库安装所需依赖项:

1
dnf install kernel-devel kernel-headers gcc make dkms libglvnd-glx libglvnd-opengl libglvnd-devel elfutils-libelf-devel

验证 kernel-develkernel-headers 是否与当前内核版本匹配:

1
rpm -q kernel-devel kernel-headers

2. 禁用 Nouveau 驱动

开源 Nouveau 驱动与 NVIDIA 驱动冲突,需通过黑名单禁用:

编辑 /etc/modprobe.d/nvidia-blacklist.conf

1
2
echo "blacklist nouveau" > /etc/modprobe.d/nvidia-blacklist.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/nvidia-blacklist.conf

更新 initramfs:

1
dracut -f

重启系统:

1
reboot

验证 Nouveau 是否已禁用:

1
lsmod | grep nouveau

无输出表示 Nouveau 已禁用。

3. 安装 NVIDIA 驱动

切换到文本模式以避免 GUI 干扰:

1
systemctl isolate multi-user.target

进入驱动文件所在目录,赋予执行权限并运行安装程序:

1
2
3
cd /path/to/driver
chmod +x NVIDIA-Linux-x86_64-550.120.run
./NVIDIA-Linux-x86_64-550.120.run

按照提示操作:

  • 接受许可协议。
  • 允许安装程序构建内核模块。
  • 如需,安装 32 位兼容库。
  • 允许安装程序更新 X 配置(如果适用)。

4. 验证安装

重启系统:

1
reboot

检查 NVIDIA 驱动是否加载:

1
nvidia-smi

示例输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.120                Driver Version: 550.120       CUDA Version: 12.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1650    Off  | 00000000:01:00.0 Off |                  N/A |
| 30%   45C    P0    20W /  75W |      0MiB /  4096MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

验证内核模块:

1
lsmod | grep nvidia

示例输出:

nvidia_drm             61440  1
nvidia_modeset       1187840  1 nvidia_drm
nvidia              23101440  1 nvidia_modeset
drm_kms_helper        307200  1 nvidia_drm
drm                   614400  4 drm_kms_helper,nvidia_drm

5. 故障排除

  • 错误:“无法找到内核源”:确保 kernel-develkernel-headers 与当前内核版本匹配。
  • 错误:“Nouveau 正在运行”:验证 Nouveau 是否被列入黑名单且 initramfs 已更新。
  • GUI 无法启动:检查 X 配置文件(/etc/X11/xorg.conf),确保指定了 NVIDIA 驱动。