> 文档中心 > 20220719给AIO-3568J适配OpenHarmony-v3.1-beta

20220719给AIO-3568J适配OpenHarmony-v3.1-beta

20220719给AIO-3568J适配OpenHarmony-v3.1-beta
2022/7/19 15:33

1、下载SDK并进行预处理:
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v3.1-beta.md
OpenHarmony 3.1 Beta

版本源码    版本信息    下载站点    SHA256校验码
全量代码(标准、轻量和小型系统)    3.1 Beta    站点    SHA256校验码
https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fharmonyos%2Fos%2F3.1-Beta%2Fcode-v3.1-Beta.tar.gz

rootroot@asus-Vivo:~$ 
rootroot@asus-Vivo:~$ cd Downloads/
rootroot@asus-Vivo:~/Downloads$ 
rootroot@asus-Vivo:~/Downloads$ ll
total 10839984
drwxr-xr-x  2 rootroot rootroot        4096 7月  14 13:00 ./
drwxr-xr-x 41 rootroot rootroot        4096 7月  19 15:18 ../
-rw-rw-r--  1 rootroot rootroot 11100129935 7月  14 13:00 code-v3.1-Beta.tar.gz
rootroot@asus-Vivo:~/Downloads$ 
rootroot@asus-Vivo:~/Downloads$ 
rootroot@asus-Vivo:~/Downloads$ tar zxvf code-v3.1-Beta.tar.gz 

rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ ll
total 120
drwxr-xr-x  21 rootroot rootroot  4096 7月  19 15:29 ./
drwxr-xr-x   4 rootroot rootroot  4096 12月 31  2021 ../
drwxr-xr-x   4 rootroot rootroot  4096 12月 31  2021 applications/
drwxr-xr-x   5 rootroot rootroot  4096 12月 31  2021 ark/
drwxr-xr-x  16 rootroot rootroot  4096 12月 31  2021 base/
drwxr-xr-x  16 rootroot rootroot  4096 12月 31  2021 build/
lrwxrwxrwx   1 rootroot rootroot    19 12月 31  2021 build.py -> build/lite/build.py*
lrwxrwxrwx   1 rootroot rootroot    28 12月 31  2021 build.sh -> build/build_scripts/build.sh*
drwxr-xr-x   9 rootroot rootroot  4096 12月 31  2021 developtools/
drwxr-xr-x   8 rootroot rootroot  4096 12月 31  2021 device/
drwxr-xr-x   6 rootroot rootroot  4096 12月 31  2021 docs/
drwxr-xr-x   3 rootroot rootroot  4096 12月 31  2021 domains/
drwxr-xr-x   6 rootroot rootroot  4096 12月 31  2021 drivers/
drwxr-xr-x  14 rootroot rootroot  4096 12月 31  2021 foundation/
lrwxrwxrwx   1 rootroot rootroot    24 12月 31  2021 .gn -> build/core/gn/dotfile.gn*
drwxr-xr-x   3 rootroot rootroot  4096 12月 31  2021 interface/
drwxr-xr-x   5 rootroot rootroot  4096 12月 31  2021 kernel/
drwxr-xr-x  13 rootroot rootroot  4096 12月 31  2021 prebuilts/
drwxr-xr-x   3 rootroot rootroot  4096 12月 31  2021 productdefine/
lrwxrwxrwx   1 rootroot rootroot    28 12月 31  2021 qemu-run -> vendor/ohemu/common/qemu-run*
drwxr-xr-x   7 rootroot rootroot  4096 12月 31  2021 .repo/
-rw-rw-r--   1 rootroot rootroot 36173 7月  19 15:29 repo
drwxr-xr-x   5 rootroot rootroot  4096 12月 31  2021 test/
drwxr-xr-x 102 rootroot rootroot  4096 12月 31  2021 third_party/
drwxr-xr-x   6 rootroot rootroot  4096 12月 31  2021 utils/
drwxr-xr-x   8 rootroot rootroot  4096 12月 31  2021 vendor/
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ chmod 777 repo 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ ll
total 120
drwxr-xr-x  21 rootroot rootroot  4096 7月  19 15:29 ./
drwxr-xr-x   4 rootroot rootroot  4096 12月 31  2021 ../
drwxr-xr-x   4 rootroot rootroot  4096 12月 31  2021 applications/
drwxr-xr-x   5 rootroot rootroot  4096 12月 31  2021 ark/
drwxr-xr-x  16 rootroot rootroot  4096 12月 31  2021 base/
drwxr-xr-x  16 rootroot rootroot  4096 12月 31  2021 build/
lrwxrwxrwx   1 rootroot rootroot    19 12月 31  2021 build.py -> build/lite/build.py*
lrwxrwxrwx   1 rootroot rootroot    28 12月 31  2021 build.sh -> build/build_scripts/build.sh*
drwxr-xr-x   9 rootroot rootroot  4096 12月 31  2021 developtools/
drwxr-xr-x   8 rootroot rootroot  4096 12月 31  2021 device/
drwxr-xr-x   6 rootroot rootroot  4096 12月 31  2021 docs/
drwxr-xr-x   3 rootroot rootroot  4096 12月 31  2021 domains/
drwxr-xr-x   6 rootroot rootroot  4096 12月 31  2021 drivers/
drwxr-xr-x  14 rootroot rootroot  4096 12月 31  2021 foundation/
lrwxrwxrwx   1 rootroot rootroot    24 12月 31  2021 .gn -> build/core/gn/dotfile.gn*
drwxr-xr-x   3 rootroot rootroot  4096 12月 31  2021 interface/
drwxr-xr-x   5 rootroot rootroot  4096 12月 31  2021 kernel/
drwxr-xr-x  13 rootroot rootroot  4096 12月 31  2021 prebuilts/
drwxr-xr-x   3 rootroot rootroot  4096 12月 31  2021 productdefine/
lrwxrwxrwx   1 rootroot rootroot    28 12月 31  2021 qemu-run -> vendor/ohemu/common/qemu-run*
drwxr-xr-x   7 rootroot rootroot  4096 12月 31  2021 .repo/
-rwxrwxrwx   1 rootroot rootroot 36173 7月  19 15:29 repo*
drwxr-xr-x   5 rootroot rootroot  4096 12月 31  2021 test/
drwxr-xr-x 102 rootroot rootroot  4096 12月 31  2021 third_party/
drwxr-xr-x   6 rootroot rootroot  4096 12月 31  2021 utils/
drwxr-xr-x   8 rootroot rootroot  4096 12月 31  2021 vendor/
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ ./repo forall -c 'git lfs pull'
rootroot@asus-Vivo:~/Downloads/code-v3.1-Beta/OpenHarmony$ 

2、适配AIO-3568J进行的修改:
Y:\Downloads\code-v3.1-Beta\OpenHarmony\device\hihope\rk3568\build\rootfs\init.without_two_stages.cfg
    "jobs" : [{
            "name" : "pre-init",
            "cmds" : [
                "write /proc/sys/kernel/sysrq 0",
                "mkdir /acct/uid",
                "chown root system /dev/memcg/memory.pressure_level",
                "chmod 0040 /dev/memcg/memory.pressure_level",
                "mkdir /dev/memcg/apps/ 0755 system system",
                "mkdir /dev/memcg/system 0550 system system",
                "start ueventd",
                "start watchdog_service",
                "mkdir /data",
                "mount ext4 /dev/block/platform/fe310000.sdhci/by-name/vendor /vendor wait rdonly barrier=1",
                "mount ext4 /dev/block/platform/fe310000.sdhci/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc",
                "load_persist_params"
            ]
修改为:
    "jobs" : [{
            "name" : "pre-init",
            "cmds" : [
                "write /proc/sys/kernel/sysrq 0",
                "mkdir /acct/uid",
                "chown root system /dev/memcg/memory.pressure_level",
                "chmod 0040 /dev/memcg/memory.pressure_level",
                "mkdir /dev/memcg/apps/ 0755 system system",
                "mkdir /dev/memcg/system 0550 system system",
                "start ueventd",
                "start watchdog_service",
                "mkdir /data",
                "mount ext4 /dev/block/platform/fe310000.sdhci/by-name/oem /vendor wait rdonly barrier=1",
                "mount ext4 /dev/block/platform/fe310000.sdhci/by-name/userdata /data wait nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc",
                "load_persist_params"
            ]

Y:\Downloads\code-v3.1-Beta\OpenHarmony\device\hihope\rk3568\build\rootfs\fstab.rk3568
# fstab file.
#                                                                                    
/dev/block/platform/fe310000.sdhci/by-name/system               /usr       ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/vendor              /vendor        ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/userdata               /data       ext4     nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc wait,reservedsize=104857600

修改为:
# fstab file.
#                                                                                    
/dev/block/platform/fe310000.sdhci/by-name/rootfs               /usr       ext4     ro,barrier=1  wait,required
/dev/block/platform/fe310000.sdhci/by-name/oem              /vendor        ext4     ro,barrier=1  wait,required

/dev/block/platform/fe310000.sdhci/by-name/userdata               /data       ext4     nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc wait,reservedsize=104857600

3、编译:
./build.sh --product-name rk3568 --ccache

 

4、给AIO-3568J刷机:
先刷在内核中加入过binder的打包固件:AIO-3568J_Buildroot_220714.img
Y:\proj\rk356x_linux_release_20211019\rockdev\pack\AIO-3568J_Buildroot_220714.img
CONFIG_ANDROID_BINDER_IPC=y

 

 

 

之后,在刷入修改过分区表挂载点的OpenHarmony-v3.1-beta。

 

 

parameter.txt使用Buildroot的。
由于OpenHarmony-v3.1-beta的系统分区比较大,必须修改!
FIRMWARE_VER: 1.0
MACHINE_MODEL: RK3568
MACHINE_ID: 007
MANUFACTURER: RK3568
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 0xffffffff
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot),0x00020000@0x00028000(recovery),0x00010000@0x00048000(backup),0x00150000@0x00058000(oem),0x30ce00@0x001A8000(rootfs),-@0x4B4e00(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9

 

 

 

现存的问题:鼠标不能用,原因待查!

参考资料:
https://gitee.com/tanpengju/openharmonydevice
Rockchip芯片单板适配OpenHarmony的方法

https://dev.t-firefly.com/thread-117090-1-1.html
[OpenHarmony 3.1 Beta] Firefly 3399/3568 适配OpenHarmony的方法(已过时)