温馨提示×

CentOS如何编译安装驱动

小樊
45
2026-08-19 12:18:12
栏目: 智能运维

CentOS 上编译安装驱动 通常分为 通用流程具体驱动示例(如网卡、显卡、存储)。下面我按 “通用步骤 + 实战示例” 的方式说明,适用于 CentOS 7 / CentOS 8 / Rocky / Alma 等衍生系统。


一、编译驱动前的通用准备工作

1️⃣ 安装编译环境

# CentOS 7
yum groupinstall "Development Tools" -y
yum install kernel-devel kernel-headers -y

# CentOS 8 / Rocky / Alma
dnf groupinstall "Development Tools" -y
dnf install kernel-devel kernel-headers -y

⚠️ 非常重要

uname -r

确保:

kernel-devel 版本 == uname -r

否则驱动编译会失败。


2️⃣ 查看当前内核版本

uname -r

例如:

3.10.0-1160.el7.x86_64

3️⃣ 安装依赖工具

yum install -y gcc make elfutils-libelf-devel

二、通用驱动编译安装流程(以源码为例)

1️⃣ 解压驱动源码

tar -zxvf driver.tar.gz
cd driver

2️⃣ 编译驱动

make

常见错误:

  • kernel-devel not found → 内核开发包不匹配
  • gcc: command not found → 没装 gcc

3️⃣ 安装驱动

make install

或直接拷贝 .ko 文件:

cp *.ko /lib/modules/$(uname -r)/kernel/drivers/
depmod -a

4️⃣ 加载驱动

modprobe 驱动名

查看是否加载成功:

lsmod | grep 驱动名

三、实战示例


✅ 示例 1:编译安装网卡驱动(以 Intel 网卡为例)

1️⃣ 查看网卡型号

lspci | grep -i eth

2️⃣ 下载驱动

例如:

wget https://downloadmirror.intel.com/xxx/ixgbe.tar.gz

3️⃣ 编译安装

tar -zxvf ixgbe.tar.gz
cd ixgbe/src
make
make install

4️⃣ 加载

modprobe ixgbe

✅ 示例 2:NVIDIA 显卡驱动编译安装(常见但复杂)

1️⃣ 禁用 nouveau

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

2️⃣ 重新生成 initramfs

dracut --force
reboot

3️⃣ 安装 NVIDIA 驱动

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

四、常见问题排查

❌ 1. 编译时报 kernel-devel 不存在

ls /usr/src/kernels/

如果没有对应版本:

yum install kernel-devel-$(uname -r)

❌ 2. 驱动加载失败

dmesg | tail

常见原因:

  • 内核版本不匹配
  • Secure Boot 未关闭
  • 驱动与硬件不兼容

❌ 3. 重启后驱动丢失

需要:

echo "驱动名" >> /etc/modules-load.d/驱动名.conf

五、建议(重要)

能用 RPM / DKMS 就别手动编译

yum install kmod-xxx

生产环境优先使用官方仓库驱动


六、如果你愿意,我可以进一步帮你

你可以直接告诉我:

  1. ✅ CentOS 版本(7 / 8 / Stream)
  2. ✅ 硬件型号(网卡 / 显卡 / RAID)
  3. ✅ 报错信息(如果有)

我可以 一步一步给你定制命令,避免踩坑。

0