CentOS7下DKMS安装Intel ixgbe驱动失败:*** No targets报错
解决CentOS7下ixgbe 5.3.5 DKMS编译报错“*** No targets”的问题
我之前在CentOS7上折腾ixgbe驱动DKMS安装时,也碰到过一模一样的“*** No targets”报错,大概率是dkms.conf配置有误,或者驱动源码的结构没匹配DKMS的预期。给你一步步排查和解决的方案:
1. 检查dkms.conf的关键配置是否正确
ixgbe驱动的DKMS配置有特定要求,你需要确保/usr/src/ixgbe-5.3.5/dkms.conf包含以下核心参数,路径要和你的源码结构对应:
PACKAGE_NAME="ixgbe" PACKAGE_VERSION="5.3.5" # 注意:ixgbe源码的Makefile在根目录,编译时要指定M参数指向源码根目录 MAKE[0]="make -C /lib/modules/${kernelver}/build M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION} modules" CLEAN[0]="make -C /lib/modules/${kernelver}/build M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION} clean" BUILT_MODULE_NAME[0]="ixgbe" BUILT_MODULE_LOCATION[0]="./" # 编译出的.ko文件在源码根目录 DEST_MODULE_LOCATION[0]="/kernel/drivers/net/ethernet/intel/ixgbe" AUTOINSTALL="yes"
很多人出错是因为MAKE和BUILT_MODULE_LOCATION的路径设错了,ixgbe 5.3.5的编译产物直接在源码根目录,不是src子目录,这点要注意。
2. 确认源码目录结构和权限
- 确保ixgbe 5.3.5的完整源码解压到了
/usr/src/ixgbe-5.3.5/,里面要有Makefile、src目录、Kconfig这些核心文件 - 目录权限要正确,执行
chown -R root:root /usr/src/ixgbe-5.3.5/确保DKMS能访问所有文件
3. 按正确顺序执行DKMS命令
一定要用root权限执行以下步骤,顺序不能错:
# 添加驱动源码到DKMS库 dkms add -m ixgbe -v 5.3.5 # 编译驱动模块 dkms build -m ixgbe -v 5.3.5 # 安装编译好的模块(如果编译成功) dkms install -m ixgbe -v 5.3.5
4. 补全编译依赖
CentOS7下编译内核模块必须安装对应版本的依赖包,执行以下命令安装:
yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make dkms
重点:kernel-devel的版本必须和你当前运行的内核版本一致(用uname -r查看),否则会出现编译目标找不到的问题。
5. 查看DKMS日志定位细节错误
如果还是报错,去DKMS的编译日志里找更详细的信息:
cat /var/lib/dkms/ixgbe/5.3.5/build/make.log
日志里会明确说明是Makefile找不到、某个依赖缺失还是参数错误,根据日志再针对性调整。
内容的提问来源于stack exchange,提问作者proximous
相关产品推荐
相关产品推荐

