Linux 内核模块构建先决条件

Linux 内核模块构建先决条件

kernel.org kbuild 文档的“如何构建外部模块”部分(https://www.kernel.org/doc/Documentation/kbuild/modules.txt)说:

要构建外部模块,您必须有一个可用的预构建内核,其中包含构建中使用的配置和头文件。此外,内核必须在启用模块的情况下构建。如果您使用的是发行版内核,则您的发行版将为您运行的内核提供一个软件包。

另一种方法是使用“make”目标“modules_prepare”。

我的问题是,替代什么?替代

“有一个可用的预构建内核,其中包含配置和头文件”

或者

“内核必须是在启用模块的情况下构建的”

或者是其他东西?

答案1

它是“使用分发包”的替代方案,“使用分发包”与可用的“配置和头文件”同义。

.config在执行此操作之前,您应该添加一个。大多数发行版内核都提供此功能/proc/config.gz;将其复制到源树的顶部并

gunzip -c config.gz > .config

仅当源版本 >= 正在运行的内核时,这才有效。请注意,如果您打算在正在运行的内核中使用该模块,则源版本号应该是确切地相同。

相关内容