使用.o文件构建.ko文件

时间:2017-10-22 06:49:44

标签: c makefile linux-kernel kernel kernel-module

我知道我们可以使用源.c文件创建一个.ko文件,后面有一个makefile。现在,我想在不暴露源的情况下创建相同类型的.ko文件。所以我打算用.o对象文件来做。但是我没有走正确的道路,如何根据这个要求修改Makefile?

obj-m += somesource.o

all:
    make -C $(KERNEL_SRC) M=$(PWD) modules 


clean:
    make -C $(KERNEL_SRC) M=$(PWD) clean

1 个答案:

答案 0 :(得分:0)

据我所知,一个无法在其他计算机上创建的目标文件构建内核模块。唯一的例外是已发送的文件,它可能包含代码,但不能提供任何符号(变量或函数)。

我想这可以防止在一个内核中定义的函数和/或类型使用不兼容的函数签名或类型布局。

如果您不想公开源代码,请在您的计算机上构建完整的内核模块并进行分发。