关于鸿蒙系统中的Config组件相关介绍

风在云颠
发布于 2021-9-6 19:02
浏览
0收藏

简介

OpenHarmony的Linux内核基于开源Linux内核LTS 4.19.y分支演进,为满足不同的内核场景诉求,针对性地合入CVE补丁 + OpenHarmony 特性 + vendor厂商具体的板级芯片驱动补丁从而构成完整的内核基线。

Linux社区LTS 4.19.y分支信息请查看kernel官网。

内核的Config组成模块

  1. 通用配置文件

针对标准系统给出对应的参考通用配置文件:standard_common_defconfig,以便于各开发者参考。

  1. 开源开发板配置文件

针对于标准系统开源开发板Hi3516DV300,给出对应的配置文件。

目录

kernel/linux/config/linux-4.19         # 内核config
    └── standard_common_defconfig                         # 标准系统的内核的common defconfig
    └── hi3516dv300_emmc_smp_hos_l2_defconfig             # 厂商Hisilicon对应的开源开发板Hi3516dv300标准系统的defconfig

使用

使用说明

如需使用上述config,以Hi3516DV300开发板调试为例,需要在内核代码完成对应芯片驱动patch的合入。

  1. 合入芯片平台驱动补丁

针对不同芯片平台合入对应的patch,以Hi3516DV300为例:

patch -p1 < device/hisilicon/hi3516dv300/sdk_linux/open_source/linux/hisi_linux-4.19_hos_l2.patch

须知: 由于OpenHarmony工程的编译构建流程中会拷贝kernel/linux-4.19的代码环境后进行打补丁动作,在使用OpenHarmony的版本级编译命令前,需要kernel/linux-4.19保持原代码环境。

  1. 复制defconfig到kernel/linux-4.19/arch/arm/configs下

构建指导

以hi3516dv300开源开发板+ubuntu x86主机开发环境为例

场景1:版本级编译原生方式

使用工程的全量编译命令,编译生成uImage内核镜像

./build.sh --product-name Hi3516DV300 # 编译hi3516dv300的uImage内核镜像

场景2:单独编译修改后的内核

  1. 准备工作

    准备编译环境,可以使用开源arm clang/gcc编译器,或者使用工程自带编译器。

    进入工程主目录配置环境变量:

    export PATH=`pwd`/prebuilts/clang/host/linux-x86/clang-r353983c/bin:`pwd`/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/bin/:$PATH # 配置编译环境
    MAKE_OPTIONES="ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- CC=clang HOSTCC=clang" # 使用工程项目自带的clang环境
    
  2. 修改内核代码或内核config (OpenHarmony提供对应平台的defconfig供参考)。

  3. 创建编译目录及生成内核.config。

    make ${MAKE_OPTIONES} hi3516dv300_emmc_smp_hos_l2_defconfig # 使用自带的默认config 构建内核
    
  4. 编译生成对应的内核Image。

    make ${MAKE_OPTIONES} -j32 uImage # 编译uImage内核镜像
    

相关仓

kernel_linux_config

kernel_linux_config-master.zip 168.97K 6次下载
已于2021-9-6 19:10:42修改
收藏
回复
举报
回复
    相关推荐