一、移植说明
参考firfly官方移植步骤,链接:
https://dev.t-firefly.com/forum.php?mod=viewthread&tid=117090&highlight=%BA%E8%C3%C9
二、下载纯净版linux-SDK源码
下载链接:https://www.t-firefly.com/doc/download/107.html

解压及编译步骤,参考链接:
https://wiki.t-firefly.com/zh_CN/ROC-RK3568-PC/buildroot_compile.html

三、编译linux-SDK源码
1、设置当前板型的配置文件
./build.sh roc-rk3568-pc-buildroot.mk
2、OpenHarmony需要使用IPC binder通信,纯净Linux SDK中没有开启,需要在内核开启IPC binder
3、buildroot版本的config文件为firefly_linux_deconfig,增加 CONFIG_ANDROID_BINDER_IPC=y

4、全量编译rk3568-buildroot版本,执行./build.sh,编译完成后会
在源码目录rockdev/pack下生成完整镜像ROC-RK3568-PC_Buildroot_v1.2.3a_220516.img


5、拿到编译成功的ROC-RK3568-PC_Buildroot_v1.2.3a_220516.img,进行烧录

四、拉取OpenHarmony 3.1 Beta源码
参考官网文档:
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v3.1-beta.md
步骤:
mkdir OpenHarmony-3.1 && cd OpenHarmony-3.1
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Beta --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
源码路径:
\\192.168.1.9\name1\OpenHarmony-3.1

五、编译harmony-rk3568
bash build/prebuilts_download.sh
./build.sh --product-name rk3568 --ccache

六、烧录准备(分区挂载设置和文件系统读写权限设置)
1、在rk-linux源码rockdev目录下拿到parameter.txt
2、因为openharmony分区和RK提供的buildroot版本有区别,因此需要修改分区(parameter.txt)


3、不同产品的分区挂载路径不一样,在分区挂载时,需要指定自己产品实际的
分区挂载路径,修改位置根据是否开启ramdisk,不清楚建议都修改。
开启了ramdisk的产品:
openharmony-3.1/device/hihope/rk3568/build/rootfs/init.without_two_stages.cfg
未启了ramdisk的产品:
openharmony-3.1/device/hihope/rk3568/build/rootfs/init.cfg

4、修改文件系统读写权限,修改位置根据是否开启ramdisk,不清楚建议都修改。
开启了ramdisk的产品:
openharmony-3.1/device/hihope/rk3568/build/rootfs/init.without_two_stages.cfg
未启了ramdisk的产品:
openharmony-3.1/device/hihope/rk3568/build/rootfs/init.cfg

5、然后在OpenHarmony-3.1/out/rk3568/packages/phone/images下,拿到vendor.img、system.img、
userdata.img烧录镜像,进行分区烧录,如下图

七、结果展示

