摘要:本文介绍了Kconfig的基础知识,和鸿蒙轻内核的图形化配置及进阶的使用方法。
本文分享自华为云社区《鸿蒙轻内核Kconfig使用笔记》,作者: zhushy。
1、 Kconfig简介Kconfig语言定义了一套完整的规则来表述配置项及配置项间的关系,详细内容可以参考Linux官方文档Kconfig Language,此处不赘述。鸿蒙轻内核使用的是Python的开源三方库kconfiglib(menuconfig只是其提供的命令之一,相关命令还有genconfig, savedefconfig等等),官方主页为https://pypi.org/project/kconfiglib。
1.1 Kconfig和.config文件Kconfig是配置项的描述文件,支持设置配置项及其默认值,依赖关系等等,比如kernel\liteos_a\Kconfig,该文件还会继续依赖各个模块的Kconfig文件。
产品配置文件,如vendor\hisilicon\hispark_taurus\kernel_configs\debug.config,提供配置项及在产品中这些配置项的设置值,可能和内核配置项的默认取值不一致,属于产品对内核配置项的定制。这些配置文件在BUILD.gn或makefile文件中使用。
另外还会生成一个C语言头文件,提供配置项的宏定义版,在C语言程序中使用。
1.2 操作简介下载OpenHarmony源代码后,使用hb set设置产品解决方案后,然后在kernel/liteos_m或liteos_a目录下执行make help可获得一个总体的帮助说明,如下图所示:
其中与Kconfig有关的为xxconfig类目标,这类目标通过args接收额外的参数,比如:
make menuconfig args="--help"