温馨提示×

CentOS驱动配置技巧

小樊
40
2025-12-15 17:38:03
栏目: 智能运维

CentOS 驱动配置技巧

一、通用准备与排错思路

  • 明确硬件与系统版本:用 lspci | grep -i vgalspci | grep -i nvidia 确认显卡型号;用 uname -r 确认内核版本,确保与将要安装的驱动匹配。
  • 准备编译环境:安装 gcc、make、kernel-devel、kernel-headers,版本需与当前运行内核一致(见下文“版本不一致”处理)。
  • 选择安装方式:优先使用发行版或可信仓库(如 ELRepo)提供的驱动包;若使用 NVIDIA 官方 .run 安装器,务必在文本模式操作,避免与图形会话冲突。
  • 常用验证:NVIDIA 显卡执行 nvidia-smi;通用内核模块用 lsmod | grep <模块名>;查看 initramfs 内容可用 lsinitrd | grep <关键词>

二、NVIDIA 显卡驱动配置要点

  • 禁用 Nouveau(两种等效方式,二选一或同时配置更稳妥)
    1. GRUB 启动参数方式:编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX 末尾追加
      rd.driver.blacklist=nouveau nouveau.modeset=0
      然后执行:grub2-mkconfig -o /boot/grub2/grub.cfg
    2. 黑名单方式:在 /etc/modprobe.d/blacklist.conf/usr/lib/modprobe.d/dist-blacklist.conf 添加
      blacklist nouveau
      options nouveau modeset=0
  • 重建 initramfs 并重启
    mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
    dracut /boot/initramfs-$(uname -r).img $(uname -r)
    reboot
    重启后用 lsmod | grep nouveau 确认 Nouveau 未被加载。
  • 安装驱动
    • 仓库方式(推荐):添加 ELRepo,用 nvidia-detect 确认推荐驱动后安装,例如:
      yum install kmod-nvidia-<推荐版本>
    • 官方 .run 方式:切到文本模式(如 systemctl set-default multi-user.target),给安装包加执行权限并运行:
      chmod +x NVIDIA-Linux-x86_64-<版本>.run
      ./NVIDIA-Linux-x86_64-<版本>.run
  • 验证与常见问题
    • 验证:执行 nvidia-smi 应显示 GPU 与驱动版本。
    • 常见报错速解:
      • “Nouveau 正在使用”:说明黑名单或 initramfs 未生效,复核上述步骤并重启。
      • “找不到 cc/make”:安装 gcc、make
      • “找不到内核源码树”:安装与当前内核同版本的 kernel-devel/kernel-headers,或执行
        ./NVIDIA-Linux-x86_64-<版本>.run --kernel-source-path=/usr/src/kernels/$(uname -r)
      • “SecureBoot 导致内核模块未签名”:在 BIOS 关闭 Secure Boot,或使用 MOK 注册签名。

三、离线环境与最小化系统的安装技巧

  • 离线安装编译依赖:挂载 Everything ISO 作为本地仓库,创建本地 .repo 后执行
    yum --disablerepo=‘*’ --enablerepo=‘base’ install gcc kernel-devel kernel-headers
  • 离线安装 NVIDIA 驱动:将 .run 安装包提前拷贝到服务器,按“禁用 Nouveau → 重建 initramfs → 文本模式运行安装器”的顺序执行。
  • 版本不一致导致“找不到内核源码树”的两种处理:
    1. 重启选择已安装对应 kernel-devel 的内核再装驱动;
    2. /lib/modules/$(uname -r)/ 下将 build 软链接指向已安装的 /usr/src/kernels/<对应版本>

四、其他常见驱动配置要点

  • 双显卡(Optimus)场景:部分机型在 BIOSGraphics Device 设为 Discrete Graph、关闭 OS Detection for NVIDIA Optimus,可简化独显直连;或在社区方案(如 Bumblebee)中按需启用/切换。
  • 通用内核模块配置:将自定义驱动加入 /etc/modprobe.d/*.conf(如 alias/options),必要时用 modprobe <模块名> 加载并用 lsmod 验证;若模块需在开机早期加载,确保其被打包进 initramfs(必要时重建 initramfs)。

0