一. 简介
本文简单学习一下, uboot的图像化配置的原理。更方便今后熟练的使用图形化配置 uboot。
二. uboot的menuconfig 图形化配置原理
1. make menuconfig 过程分析
当输入 make menuconfig 以后会匹配到顶层 Makefile 的如下代码:
%config: scripts_basic outputmakefile FORCE
$(Q)$(MAKE) $(build)=scripts/kconfig $@
这个在之前 uboot的Makefile编译过程中,
已经详细的讲解过了,其中 ,
build=-f ./scripts/Makefile.build obj
,将第 2
行的规则展开就是:
@ make -f ./scripts/Makefile.build obj=scripts/kconfig menuconfig
Makefile.build
会读取
scripts/kconfig/Makefile
中的内容,在
scripts/kconfig/Makefile
中,可以
找到如下代码:
menuconfig: $(obj)/mconf
$< $(silent) $(Kconfig)
其中
obj= scripts/kconfig
,
silent
是设置静默编译的,在这里可以忽略不计,
Kconfig=Kconfig
,因此扩展以后就是:
menuconfig: scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig
目标
menuconfig
依赖
scripts/kconfig/mconf
,因此
scripts/kconfig/mconf.c
这个文件会被编译,生成
mconf
这个可执行文件。
目标
menuconfig
对应的规则为
scripts/kconfig/mconf Kconfig。
也就是说
mconf
会调用
uboot
根目录下的
Kconfig
文件 开始构建图形配置界面。