鸿蒙系统对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
标签:linux,OpenHarmony,文件,配置,defconfig,内核,Linux,config From: https://www.cnblogs.com/riveruns/p/18428822