OpenHarmony Linux内核的config配置

鸿蒙系统对Linux内核的使用方式对于传统的Linux内核和驱动开发者来说已经发生了很大的变化,首先就是内核config选项的配置方式。

传统上,我们直接进入到linux内核目录进行 make menuconfig就可以了,最终会生成1个.config文件,但是鸿蒙不是这样子的。

为了解决传统的一平台或一领域产品对应一个defconfig配置文件就显得效率低且不灵活,无法满足系统的单平台多领域产品的配置需求。HarmonyOS内核在配置上进行了优化。将1个config文件拆分成了几个分别进行配置,在编译的时候再组合起来。

目前鸿蒙系统在理论上将config文件分为了5个层级 基础(Base)配置、形态(Type)配置、版本(Form)配置、芯片(Chip)配置和产品(Product)配置,也就对应5个文件(实际上并没有这么多,只有3个层级)。

源码目录为:

/home/openharmony/kernel/linux/config

代码仓库为:点击直达

https://gitee.com/openharmony/kernel_linux_config/tree/master

我们来观察一下实际源码目录,可以看到只有 base、type、chip 3个层级的文件。

.
├── arch
│   └── arm64
│       └── configs
│           └── rk3568_standard_defconfig
├── base_defconfig
├── rk3568
│   └── arch
│       └── arm64_defconfig
└── type
    ├── small_defconfig
    └── standard_defconfig

 在进行编译的时候,这几个文件会组合为1个.config文件,如果多个文件中有相同的选项配置会根据优先级进行覆盖。

.config的最终输出目录为:

out/kernel/OBJ/linux-5.10/.config

 

posted @ 2024-09-24 11:30  秦舒云  阅读(92)  评论(0编辑  收藏  举报