从源代码构建Linux内核时,可以决定是将某种功能静态地内置到内核中还是打包到模块中以通过.config动态插入。
另一方面,如果我有任何第三方模块的源代码,例如打包的设备驱动程序,是否可以通过编程方式将此代码静态地静态集成到内核中?而不是从根文件系统加载内核模块?
当然,您只需要进行一些改动,即可将外部模块移入内核源代码树,对Makefiles / Kconfig进行一些调整,以使代码内置,然后构建内核映像。例如,假设您将模块源移至drivers/blah
。然后,你应该添加一行随后的结束drivers/Makefile
就像
obj-y += blah/
并且您应该确保drivers/blah/Makefile
已设置用于构建模块,例如
obj-y += mymodule.o
mymodule-objs := src.o other.o
依此类推,在其中设置了Makefile的地方,但是必须要构建正在使用的特定模块。注意:您必须使用mymodule-objs的输出文件名,而不是输入文件名!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句