OpenHarmony移植之第三方内核移植(一)

OpenHarmony移植之第三方内核移植(一)

一、概述

本文主要是介绍将OpenHarmony系统移植到第三方芯片平台,借助第三方芯片平台已有的linux内核功能,进行快速的移植。

本文很多内容都取自OpenHarmony官网《一种快速移植OpenHarmony Linux内核的方法》

OpenAtom OpenHarmony

二、OpenHarmony系统框架

OpenHarmony = OpenHarmony内核态层 + OpenHarmony用户态层

其中OpenHarmony内核层就是上图的紫色部分,可以看到,它主要由内核本身(如Linux Kernel,LiteOS),和一些运行在内核态的一些特性组成,比如HDF等。

而OpenHarmony用户态层,在上图,就是紫色之外的部分。可以看到,由下往上看,它主要由系统服务层,框架层,应用层组成。在这儿我们将这三层整体称为"OpenHarmony用户态层"。

为什么这么区分呢?因为我们这篇文章主要是要讨论如何快速的把OpenHarmony移植到三方芯片平台上。而OpenHarmony的用户态层,整体来说和三方芯片平台的耦合度不高,移植较为方便。而内核态层中的内核本身以及HDF驱动框架等,和三方芯片平台的耦合度较高,是移植的重难点。我们先做这个区分,就是为了先把聚光灯打到我们最需要关注的OpenHarmony内核态层上,开始分析和解题。另外说明,本文只包含Linux内核的快速移植,不包含LiteOS的移植。

三、进行内核移植有两种办法

为了表述方便,我们在下文部分地方用"OH"代替"OpenHarmony"。

将OH内核态层继续分解

OH内核态层 = OH Linux内核 + OH内核态特性(可选特性或者必选特性,如必选特性HDF,今后的可选特性HMDFS等)

而OH Linux内核 = 标准LTS Linux 内核 + 三方SoC芯片平台代码 + OH内核态基础代码(支撑OH用户态层运行的最基础代码)

因此OH内核态层 = 标准LTS Linux 内核 + 三方SoC芯片平台代码 + OH内核态基础代码 + OH内核态特性(如HDF)

而将前两项组合,标准LTS Linux 内核 + 三方SoC芯片平台代码,其实就是一个三方Linux内核的基础组成。从上面的推导可以看出,OpenHarmony 内核态层其实能够由两种方法得到:

方法一:OH 内核态层 = 三方Linux内核 + OH内核态基础代码 + OH内核态特性(如HDF,今后的HMDFS等)

也就是直接借助三方Linux内核,再加上基础OH内核态基础代码、以及HDF等OH内核态特性。

方法二:OH 内核态层 = OH Linux内核 + OH内核态特性(如HDF,今后的HMDFS等)

也就是直接采用OHLinux内核,然后再加入OH的其他内核态特性。

当前方法二中OHLinux内核支持的三方芯片平台还不够丰富。为了能够响应三方开发者快速移植OpenHarmony的要求,下文会着重介绍方法一,即借助三方已有的Linux内核,来快速移植OpenHarmony。

相关推荐
YMWM_12 小时前
【问题】thor上的cubLas
linux·python·thor
杨云龙UP13 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
舰长11513 小时前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器
mounter62513 小时前
Linux 7.0 重磅更新:详解 nullfs 如何重塑根文件系统挂载与内核线程隔离
linux·运维·服务器·kernel
色空大师13 小时前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建
键盘鼓手苏苏14 小时前
Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构
flutter·harmonyos·鸿蒙·openharmony
雷帝木木14 小时前
Flutter 三方库 hrk_logging 的鸿蒙化适配指南 - 实现标准化分层日志记录、支持多目的地输出与日志分级过滤
flutter·harmonyos·鸿蒙·openharmony·hrk_logging
左手厨刀右手茼蒿14 小时前
Flutter 三方库 dio_compatibility_layer 的鸿蒙化适配指南 - 实现 Dio 跨主版本的平滑迁移、支持遗留拦截器兼容与网络请求架构稳定升级
flutter·harmonyos·鸿蒙·openharmony·dio_compatibility_layer
特立独行的猫a14 小时前
OpenHarmony海思WS63星闪平台:使用Mongoose 网路库文件下载封装与断点续传实现
openharmony·mongoose·海思·文件下载·ws63
A.A呐15 小时前
【Linux第十三章】缓冲区
linux·服务器