OHOS(1) 了解移植相关知识

https://www.openharmony.cn/
***********************************
标准系统移植指南
https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/porting/standard-system-porting-guide.md/
一种快速移植OpenHarmony Linux内核的方法
https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/porting/porting-linux-kernel.md/
***********************************
获得内核态层的两种方法
为了表述方便,我们在下文部分地方用“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。
借助已有Linux内核来移植OpenHarmony的流程
整个移植流程可以分为三步:
准备整体构建环境,包括将三方芯片平台的现有内核代码拷贝到OpenHarmony的整体编译环境下。
OpenHarmony内核态基础代码的移植。
OpenHarmony内核态必选特性(如HDF等)的移植。
=========================================================
标准系统方案之瑞芯微RK3568移植案例
https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/porting/porting-dayu200-on_standard-demo.md/
=========================================================
OpenHarmony v4.0 beta1 (API Level 10接口)
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v4.0-beta1.md
获取源码:
“从镜像站点获取”:全量代码(标准、轻量、小型系统) 4.0 Beta1
https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/code-v4.0-Beta1.tar.gz 26.2 GB
查看:
在device/board/下 grep rk3588 -n -r . 看下哪里有rk3588
hihope/dayu210,这就是参考对象了
编译:./build.sh --product-name dayu210
我的做法是另类的:就像剖开RKSDK一样,首先bootloader这部分就是原RKSDK,linux kernel也是原RKSDK基础上去修改,需要的是OHOS rootfs内容(需要编译一遍得到),然后就是RKSDK + OHOS ROOTFS 就可以组合成OHOS了(和ubuntu rootfs一个道理)。