簡體   English   中英

使用單獨的輸出目錄構建樹外 linux 內核模塊

[英]Building an out-of-tree linux kernel module with separate output directory

我想構建一個樹外內核模塊,輸出目錄與我的源目錄分開? 我該怎么做? 我願意走任何一條路。 我對內核構建系統的改動很小,我可以復制源文件(但是,如果我沒有對源文件進行任何更改,我不想重建,如果我復制,這將不起作用源文件通常),我可以設置參數或其他東西。

很多人都面臨這個問題,包括我。 支持在單獨的輸出目錄中構建外部模塊。 我修改了kbuild:

首先,在scripts/Makefile.buildscripts/Makefile.clean修改 src 變量

-src := $(obj)
+src := $(if $(KBUILD_EXTMOD_SRC),$(KBUILD_EXTMOD_SRC)$(patsubst $(KBUILD_EXTMOD)%,%,$(obj)),$(obj))

其次,修改scripts/Makefile.modpost

-src := $(obj)
+src := $(if $(KBUILD_EXTMOD_SRC),$(KBUILD_EXTMOD_SRC),$(obj))

 # Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS
-include $(if $(wildcard $(KBUILD_EXTMOD)/Kbuild), \
-             $(KBUILD_EXTMOD)/Kbuild, $(KBUILD_EXTMOD)/Makefile)
+include $(if $(wildcard $(src)/Kbuild), \
+             $(src)/Kbuild, $(src)/Makefile)

然后像這樣構建外部模塊:

make -c  $(kernel_src) M=$(extmod_outpu_dir) KBUILD_EXTMOD_SRC=$(extmod_src_dir) modules

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM