如何构建没有完整内核源代码树的内核模块?

时间:2014-04-03 03:06:21

标签: linux linux-kernel kernel-module

我想在没有内核源代码树的情况下构建内核模块。
相反,我只指定了内核头文件目录。

此参考链接告诉我它应该可行:
build kernel module w/o source source tree

但是其他一些参考链接告诉我应该使用完整的内核源代码树构建模块!

我的问题是:
1.我应该用完整的内核源代码树构建内核模块链接吗? 2.在构建我的单个模块之前,是否有必要在内核源代码树下进行完整构建?

2 个答案:

答案 0 :(得分:1)

  1. 不是没有必要。您需要包含函数和类型声明的头文件。您还使用Makefile和Kconfig 但没有源的内核树。 kbuild - 内核构建系统需要这个内核树。

  2. 绝对不是。您可以构建单个模块而无需构建整个内核,无论它是树外还是树内模块。

答案 1 :(得分:0)

两个问题都没有。你在谈论树外(或“外部”)模块。

以下是Building External Modules的教程。

这是一个Makefile的简单示例。

obj-m += your-module.o
KDIR=/lib/modules/`uname -r`/build
default:
    $(MAKE) -C $(KDIR) M=$(PWD) modules