如何使用;“已装运”;内核模块中的makefile
我想通过链接一个构建的对象文件来生成一个.ko文件。。我读过关于“kbuild”系统中提供的信息,但没有足够的详细信息如何使用;“已装运”;内核模块中的makefile,makefile,linux-kernel,Makefile,Linux Kernel,我想通过链接一个构建的对象文件来生成一个.ko文件。。我读过关于“kbuild”系统中提供的信息,但没有足够的详细信息 请提供帮助。Kbuild系统根据清除命令删除所有对象文件(*.o)。任何外部对象文件也将被删除,除非将其扩展名从.o更改为.o以保留它们 下面的示例Makefile演示了如何使用\u shipped链接模块8123.ko中的对象文件8123\u bin.o\u shipped: ifneq ($(KERNELRELEASE),) # kbuild part of makefil
请提供帮助。Kbuild系统根据
清除命令删除所有对象文件(*.o
)。任何外部对象文件也将被删除,除非将其扩展名从.o
更改为.o
以保留它们
下面的示例Makefile
演示了如何使用\u shipped
链接模块8123.ko
中的对象文件8123\u bin.o\u shipped
:
ifneq ($(KERNELRELEASE),)
# kbuild part of makefile
obj-m := 8123.o
8123-y := 8123_if.o 8123_pci.o 8123_bin.o
else
# normal makefile
KDIR ?= /lib/modules/`uname -r`/build
default:
$(MAKE) -C $(KDIR) M=$$PWD
# Module specific targets
genbin:
echo "X" > 8123_bin.o_shipped
endif
基本上,.o\u附带的
文件与.o
文件相同,只是Kbuild系统知道它是一个二进制blob,按原样提供,其源代码在内核/模块源目录中不可用。因此,即使在清理源代码时,*.o_装运的
二进制blob也将保留
有关更多详细信息,请参见您能解释一下您需要什么吗?