【鸿蒙南向开发】LiteOS-M小型系统内核——标准系统内核

199 篇文章 0 订阅
198 篇文章 0 订阅

标准系统内核

Linux内核概述

面向标准系统类设备(参考内存≥128MB),OpenHarmony选择Linux内核作为基础内核,可以对不同资源受限的设备产品配置出适合的OS内核,为上层提供基础的操作系统能力。

Linux内核版本

Linux内核版本分为稳定版本以及长期支持LTS(long term support)版本。

稳定版本大约每三个月发布一个新版本,包含最新硬件支持、性能改进以及bug修复等。其缺点是整体维护生命周期较短,产品软件不能得到长期稳定的支持。

LTS为长期支持版本,“长期支持”体现在对该版本内核的长期维护(对bug和安全方面的修复),一般维护周期达到6年之久。相较于维护周期从6个月到2年不等非LTS内核版本,对一款商用产品来说并不能覆盖其产品完整的生命周期,很有可能会使产品暴露于安全漏洞的风险之中。且LTS版本更新不会包含新的特性升级,保证了版本的稳定,这对追求稳定以及安全的商用产品来说LTS版本更为适合。

OpenHarmony内核版本选择

OpenHarmony中的Linux内核从LTS版本中选择合适的版本作为内核基础版本,目前较多设备使用的4.19内核。4.4~4.14LTS内核较旧,对新特性支持不足,且按计划在2023年左右会陆续不再维护,可使用周期较短,不适合作为首发版本。5.4LTS版本在已发产品中未广泛使用,4.19更为大家熟悉也可减少适配内核的周期,更新版本内核也会持续发布。

OpenHarmony 中的Linux内核推荐参考内存≥128MB的设备选用。

OpenHarmony开发板Patch使用指导

Patch文件位于工程项目源码路径:kernel/linux/patches/linux-4.19,存放特定芯片架构驱动补丁。

如需使用特定芯片平台驱动的Patch,需要在内核仓代码完成对芯片平台驱动补丁合入。

合入芯片平台驱动补丁,针对不同芯片平台合入对应的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保持原代码环境。

Linux内核编译与构建指导

开发示例1

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

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

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

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

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

  1. 准备工作

    1. 按开发板Patch使用指导打入所需补丁。
    2. 准备编译环境,可以使用开源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内核镜像
    

写在最后

●如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
●点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
●关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
●更多鸿蒙最新技术知识点,请移步前往小编:https://gitee.com/

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值