一、Kbuild系统构成

https://blog.csdn.net/weixin_36098975/article/details/135140530

Kbuild本质

一个可扩展、可配置的 Makefile 框架
递归式 Makefile、菜单式配置

Kbuild构成

Makefile:顶层目录下的 Makefile
Kconfig:配置菜单,定义每个 config symbol 的属性(类型、描述、依赖等)
.config:内核的配置文件,一般通过 make menuconfig 等生成,里面列出了各选项的取值。
arch/$(ARCH)/Makefile:跟平台架构相关的 Makefile
scripts/Makefile.*:通用编译规则
Kbuild Makefiles:分布在各个子目录下

KBuild框架

https://blog.csdn.net/qq_42711537/article/details/135044552

二、Kbuild构建的基本流程

1.第一步:生成.config文件

通过topdir下的Makefile,通过conf工具生成.config文件。在执行 make 命令时,内核构建系统会读取 .config 文件中的配置选项,并据此决定如何编译源代码。

autoconf.h是供c源码使用(宏开关),而auto.conf供Makefile使用(是否被编译)

  • /proc/config.gz

https://blog.csdn.net/lu_embedded/article/details/108908577
只有当内核配置 CONFIG_IKCONFIG 和 CONFIG_IKCONFIG_PROC 为 y,才会在 /proc 中出现 config.gz 文件。

2.第二步:根据.config文件选择性编译各个模块

3.第三步:链接合成各个模块,构建内核镜像。


0 条评论

发表回复

您的电子邮箱地址不会被公开。