我知道我们可以使用源.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
答案 0 :(得分:0)
据我所知,一个无法从在其他计算机上创建的目标文件构建内核模块。唯一的例外是已发送的文件,它可能包含代码,但不能提供任何符号(变量或函数)。
我想这可以防止在一个内核中定义的函数和/或类型使用不兼容的函数签名或类型布局。
如果您不想公开源代码,请在您的计算机上构建完整的内核模块并进行分发。