Kconfig和LKM

时间:2011-05-18 07:02:29

标签: linux linux-kernel linux-device-driver kbuild

我在内核树之外使用LKM,我想为我的模块使用一些编译选项,如MYLKM_CONFIG_ {something}。我知道这可以使用C预处理(#define // #ifdef // #endif)来完成。但我想知道是否有可能为此目的使用Kbuild(Kconfig文件或相关的东西)?..

还有一个问题。是make menuconfig只能用于我的模块,而不是整个内核树吗?

感谢。

1 个答案:

答案 0 :(得分:0)

如果使用推荐的方法在树外构建驱动程序(参见第2章),命令应如下所示:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

这个命令的效果是两个:

  1. -C选项将当前目录更改为找到主内核Makefile
  2. $(KERNELDIR)
  3. -M选项使makefile返回当前模块开发目录$(PWD),在那里它尝试构建模块目标
  4. 因此,如果将.config从$(KERNELDIR)复制到$(PWD),它应该由Makefile解析,你应该拥有所有的CONFIG_LKM_ * #defines(虽然没有经过测试,但听起来合乎逻辑)。

    关于make menconfig问题,关于上述说明,如果您在$(PWD)目录中添加一些KConfig文件,它可能会有效。