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的方法(已过时)