静态插入linux内核模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态插入linux内核模块相关的知识,希望对你有一定的参考价值。

从源代码构建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的输出文件名而不是输入文件名!

以上是关于静态插入linux内核模块的主要内容,如果未能解决你的问题,请参考以下文章

在linux内核中使用静态库

内核模块编译实验

linux模块编写

linux 怎样插入一个驱动模块

linux和unix的对照

内核模块编译