You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编译任意Linux内核模块?iwlwifi单独编译失败求助

内核模块编译问题咨询

问题场景

编译ath.ko模块时可正常运行,执行命令:

root@debian:~/linux-5.13.19# make M=$(pwd)/drivers/net/wireless/ath modules

但使用相同方式编译iwlwifi.ko模块时失败,以下命令均报错:

命令1:编译intel目录下模块

root@debian:~/linux-5.13.19# make M=$(pwd)/drivers/net/wireless/intel modules

错误输出:

CC [M]  /root/linux-5.13.19/drivers/net/wireless/intel/iwlwifi/dvm/main.o
/root/linux-5.13.19/drivers/net/wireless/intel/iwlwifi/dvm/main.c:33:10: fatal error: iwl-eeprom-read.h: No such file or directory
   33 | #include "iwl-eeprom-read.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

命令2:直接编译iwlwifi目录下模块

root@debian:~/linux-5.13.19# make M=$(pwd)/drivers/net/wireless/intel/iwlwifi modules

错误输出与上述一致。

命令3:从intel目录执行编译

root@debian:~/linux-5.13.19/drivers/net/wireless/intel# make -C /lib/modules/`uname -r`/build M=$PWD

错误输出:

make: Entering directory '/root/linux-5.13.19'
  CC [M]  /root/linux-5.13.19/drivers/net/wireless/intel/iwlwifi/dvm/main.o
/root/linux-5.13.19/drivers/net/wireless/intel/iwlwifi/dvm/main.c:33:10: fatal error: iwl-eeprom-read.h: No such file or directory
   33 | #include "iwl-eeprom-read.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

补充说明:仅单独编译iwlwifi模块时出现此问题,执行全量模块编译命令time make -j8 modules可正常完成,但耗时过长。

疑问点

  • 编译任意Linux内核模块的通用规则是什么?
  • 明明文件/root/linux-5.13.19/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.h存在,为何编译iwlwifi时提示找不到?
  • 在内核Makefile中找不到变量M的使用位置,无法理解本次编译失败的原因。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:45:41