OpenHarmony 升级解读之SD卡升级经验分享 原创 精华

发布于 2022-1-27 08:36
浏览
7收藏

春节不停更,此文正在参加「星光计划-春节更帖活动」

OpenHarmony 3.1Beta版本标准系统SD卡升级经验分享
@[toc](内容

一、系统升级简介

当嵌入式系统需要升级版本满足功能需求,或者嵌入式系统有重大Bug时解决Bug问题而进行在线/现场升级嵌入式系统,一般从软件层面支持系统的工具升级、SD卡升级、远程升级等。

二、OpenHarmony的系统升级包制作

HarmonyOS的官方网站介绍升级包的制作:
https://device.harmonyos.com/cn/docs/documentation/guide/subsys-ota-guide-0000001209246635
升级包制作完成放入sd卡的updater/updater.zip文件中,SD卡插入OpenHarmony hi3516标准系统中。

三、进入sd卡升级界面

1.进入uboot shell

OpenHarmony 升级解读之SD卡升级经验分享-开源基础软件社区

2.重新设置bootargs的命令

setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=10 init=/init root=/dev/mmcblk0p3 rootfstype=ext4 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),1M(misc),3307M(system),256M(vendor),-(userdata)'

设置bootargs从updater分区启动,再在shell输入 'boot’命令启动,进入updater分区的应用程序。
OpenHarmony 升级解读之SD卡升级经验分享-开源基础软件社区

3.SD卡升级界面:

OpenHarmony 升级解读之SD卡升级经验分享-开源基础软件社区

四、sd卡升级

1.点击"update from SD card"

OpenHarmony 升级解读之SD卡升级经验分享-开源基础软件社区

2.进入升级校验界面

OpenHarmony 升级解读之SD卡升级经验分享-开源基础软件社区

3.升级拷贝数据

OpenHarmony 升级解读之SD卡升级经验分享-开源基础软件社区

五、升级常见问题

1.证书问题

1970-01-01 00:19:28  [ERROR]UPDATER pkg_upgradefile.cpp 241 : Fail to verifier signature
1970-01-01 00:19:28  [ERROR]UPDATER pkg_managerImpl.cpp 336 : Load package fail /sdcard/updater/
1970-01-01 00:19:28  [ERROR]UPDATER pkg_managerImpl.cpp 287 : unpack update.bin fail in package /sdcard/updater/updater.zip
1970-01-01 00:19:28  [INFO]UPDATER updater.cpp 71 : LoadPackage fail ret :104
1970-01-01 00:19:28  [ERROR]UPDATER updater.cpp 201 : Verify package Fail...
1970-01-01 00:19:30  [INFO]UPDATER frame.cpp 276 : DispatchKeyEvent release

解决方法:updater/certificate/signing_cert.crt, updater内置证书和packaging_tool使用的私钥要保持一致;

2.分区挂载问题

1970-01-01 00:18:32  [INFO]UPDATER_BINARY pkg_pkgfile.cpp 68 : ExtractFile /kernel
1970-01-01 00:18:32  [ERROR]UPDATER_BINARY data_writer.cpp 37 : Datawriter: cannot find device path for partition 'kernel'.
1970-01-01 00:18:32  [ERROR]UPDATER_BINARY update_processor.cpp 104 : Write 4194304 byte(s) failed
1970-01-01 00:18:32  [ERROR]UPDATER_BINARY pkg_algorithm.cpp 104 : Fail write data
1970-01-01 00:18:32  [ERROR]UPDATER_BINARY pkg_algorithm.cpp 114 : original size error 0 5735994
1970-01-01 00:18:32  [INFO]UPDATER_BINARY pkg_upgradefile.cpp 473 : Unpack /kernel data offset:1106 packedSize:5735994 unpackedSize:5735994
1970-01-01 00:18:32  [INFO]UPDATER_BINARY update_processor.cpp 159 : UScriptInstructionRawImageWrite  finish
1970-01-01 00:18:32  [INFO]UPDATER_BINARY script_interpreter.cpp 202 : [INTERPRETER 1-2]"ExecuteNativeFunc::Execute raw_image_write result: 0"
1970-01-01 00:18:32  [INFO]UPDATER_BINARY script_statement.cpp 165 : [INTERPRETER 1-2]"UScriptExpressionStatement::Execute result: type: 1  value : type: List "
1970-01-01 00:18:32  [INFO]UPDATER_BINARY script_statement.cpp 283 : [INTERPRETER 1-2]"UScriptStatementList finish type: 1  value : type: List "
1970-01-01 00:18:32  [INFO]UPDATER_BINARY script_interpreter.cpp 87 : [INTERPRETER 1-2]"statements_ execute result type: 1  value : type: List  "
1970-01-01 00:18:32  [INFO]UPDATER_BINARY script_interpreter.cpp 40 : ExecuteScript finish ret: 0  script: Verse-script.us
1970-01-01 00:18:48  [INFO]UPDATER updater.cpp 213 : update success , do reboot now

解决方法:
device\hisilicon\hi3516dv300\build\vendor\etc\fstab.updater 分区挂载点和升级的partition要保持一致;

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-1-27 08:36:08修改
8
收藏 7
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐