全志A33移植openharmony3.1标准系统之添加产品编译

本文详细记录了如何在全志A33开发板上移植OpenHarmony 3.1标准系统的过程,包括添加产品配置文件、修改编译选项、解决编译报错以及处理内核和USB相关问题。通过一步步操作,最终成功编译并烧录系统,但在启动时遇到文件缺失的问题,需要进一步排查。
摘要由CSDN通过智能技术生成

想玩openharmony很久了,苦于没有合适的板子能让我玩,已经适配好的开发板可真是太贵了啊,所以还是得自己动手啊,毕竟还能深入了解openharmony系统,之前有在A33上把主线uboot和主线内核跑起来,而且drm也是可以正常显示了,现在就基于此将openharmony移植到开发板上。
首先在productdefine/common/products/下添加我们板卡的配置文件a33.json,我这里直接复制其他产品的即可。
在这里插入图片描述
我这里拷贝的是hi3516dv300的配置文件,修改主要的信息如上图。这里之后需要添加对应的device文件,在productdefine/common/device中添加上图中product_device字段对应的文件名即可,我这里是a33,所以我需要添加的文件为a33.json,我这里直接是复制的3516的,cp hi3516dv300.json a33.json即可。新增文件如下图所示。
在这里插入图片描述
然后修改我们的文件如下图,这里我们不需要ramdisk,关闭它。
在这里插入图片描述
编译直接执行./build.sh --product-name=a33 --ccache即可,编译报错如下,
在这里插入图片描述
添加对应文件即可,直接复制hi3516的即可,目前还不知道是干什么用的,先为了能成功编译,vendor/allwinner/a33/hals/audio/product.gni,文件内容如下

enable_audio_alsa_mode = false
enable_hdf_proxy_stub = true
enable_audio_hal_notsupport_pathselect = false
enable_hdf_audio_full_test_suite = true

不太清楚具体的含义,先这样仿照使用,继续编译,报错如下,这样其实很好能帮助解决问题
在这里插入图片描述
这里直接复制其他目录的文件使用cp soc/hisilicon/common/hal/media/camera/hi3516dv300/linux_standard/camera/* allwinner/a33/camera/ -rf ,先不管里面是什么,一切为了能编译通过。报错如下
在这里插入图片描述
直接cp hihope/hardware/display allwinner/hardware/ -rf 即可,接着编译报错如下
在这里插入图片描述
这里我们修改成如下,先不考虑使用gpu的情况,当然如果有你可以查看这个文件添加对应的文件路径即可。注意这里一定要细心

diff --git a/foundation/graphic/standard/graphic_config.gni b/foundation/graphic/standard/graphic_config.gni
index 77ba1eeb14..faa1d43fe5 100755
--- a/foundation/graphic/standard/graphic_config.gni
+++ b/foundation/graphic/standard/graphic_config.gni
@@ -25,6 +25,10 @@ if ("${product_name}" == "watchos" || "${product_name}" == "Hi3516DV300" ||
   gpu_defines = [ "ACE_ENABLE_GL" ]
   ace_enable_gpu = true
   libgl = [ "//device/hihope/hardware/gpu:mali-bifrost-g52-g2p0-ohos" ]
+} else if ("${product_name}" == "a33") {
   
+  gpu_defines = [ "ACE_DISABLE_GL" ] //这里一定要使用"ACE_DISABLE_GL"而不是 "ACE_ENABLE_GL" 
+  ace_enable_gpu = false
+  libgl = [ ]
 } else {
   
   gpu_defines = [ "ACE_ENABLE_GL" ]
   ace_enable_gpu = true

我这里一开始用的gpu_defines = [ “ACE_ENABLE_GL” ] ,然后报错如下
在这里插入图片描述
通过查看foundation/graphic/standard/rosen/modules/render_service_base/src/platform/ohos/里面Build.gn看出这个问题,所以移植还是要细心。
接着编译,报错如下则是
在这里插入图片描述
这是缺少hdf的内容,我们根据提示进行添加,直接进入vendor目录执行cp hisilicon/Hi3516DV300/hdf_config/* allwinner/a33/hdf_config/ -rf拷贝海思的。然后会出现如下编译内核的错误在这里插入图片描述
首先可以看到是没有patch文件,我们在kernel/linux/patches/linux-5.10下执行mkdir a33_patch创建目录,进入目录执行touch hdf.patch创建文件, touch a33.patch创建文件,然后执行cp linux-5.10/arch/arm/configs/sunxi_defconfig config/linux-5.10/arch/arm/configs/a33_standard_defconfig作为我们的配置文件,然后修改如下点

diff --git a/kernel/linux/build/build_kernel.sh b/kernel/linux/build/build_kernel.sh
index 1594f27b30..2bbca9c70b 100755
--- a/kernel/linux/build/build_kernel.sh
+++ b/kernel/linux/build/build_kernel.sh
@@ -24,11 +24,16 @@ pushd ${1}
 ./kernel_module_build.sh ${2} ${4} ${5} ${6} ${7} ${8}
 mkdir -p ${3}
 rm -rf ${3}/../../../kernel.timestamp
-cp 
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、安装PC上的升级工具Livesuite.exe。      2、打开Livesuit      找到升级工具文件双击打开,如下图所示:      3、选择固件      点击上图的“否”关闭用户向导升级,并点击“选择固件”按钮选择后缀名为.img文件,如下图:      4、关闭电源      确保将I130关机(开机状态下,长按电源键8秒钟以上可强制断电关机)      5、按下组合键开始升级      按住I130平板的任意键(除了电源键,推荐音量+)不放开,再通过USB数据线连上电脑,然后快速连续点击电源键5-6次,记住此时千万不能松开开始按住的按键,直到电脑上出现下图界面时,松开所有键开始升级。      (注:如果此时弹出安装驱动程序的对话框,请把路径指向Livesuit安装目录下的UsbDriver文件夹,并按下一步提示完成驱动程序的安装)。      6、选择强制格式化升级      Livesuit提示“是否强制格式化”,点击“是”,则原先安装的APK全部被删除,点击否则原装APK不会删除。      推荐强制格式化,进行彻底更新升级!否则可能更新不彻底而变砖!      7、升级开始      弹出“确定要强制格式化”对话框,选择“是”,升级开始,如下图:      8、升级完成      固件更新过程大约持续3分半钟左右,请耐心等待,直到提示“升级成功”。   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值