在 CentOS 上编译安装驱动 通常分为 通用流程 和 具体驱动示例(如网卡、显卡、存储)。下面我按 “通用步骤 + 实战示例” 的方式说明,适用于 CentOS 7 / CentOS 8 / Rocky / Alma 等衍生系统。
# 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
否则驱动编译会失败。
uname -r
例如:
3.10.0-1160.el7.x86_64
yum install -y gcc make elfutils-libelf-devel
tar -zxvf driver.tar.gz
cd driver
make
常见错误:
kernel-devel not found → 内核开发包不匹配gcc: command not found → 没装 gccmake install
或直接拷贝 .ko 文件:
cp *.ko /lib/modules/$(uname -r)/kernel/drivers/
depmod -a
modprobe 驱动名
查看是否加载成功:
lsmod | grep 驱动名
lspci | grep -i eth
例如:
wget https://downloadmirror.intel.com/xxx/ixgbe.tar.gz
tar -zxvf ixgbe.tar.gz
cd ixgbe/src
make
make install
modprobe ixgbe
echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nouveau.conf
dracut --force
reboot
chmod +x NVIDIA-Linux-x86_64-*.run
./NVIDIA-Linux-x86_64-*.run
ls /usr/src/kernels/
如果没有对应版本:
yum install kernel-devel-$(uname -r)
dmesg | tail
常见原因:
需要:
echo "驱动名" >> /etc/modules-load.d/驱动名.conf
✅ 能用 RPM / DKMS 就别手动编译
yum install kmod-xxx
✅ 生产环境优先使用官方仓库驱动
你可以直接告诉我:
我可以 一步一步给你定制命令,避免踩坑。