首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SWUpdate失败的本地软件更新

使用SWUpdate失败的本地软件更新
EN

Stack Overflow用户
提问于 2022-02-22 21:27:27
回答 1查看 305关注 0票数 0

我正在使用SWUpdate安装更新到我的Avnger96板使用A+B(双拷贝)方案。我正在将SWUpdate与Yocto集成在一起。但是,当使用命令行参数在本地安装更新时,安装会出现错误:

尝试使用CLI swupdate -H dh-stm32mp1-dhcor-avenger96:1.0 -e stable,copy2 -v -i /tmp/avenger96-swu-v1-dh-stm32mp1-dhcor-avenger96-20220222133501.swu -k /etc/swupdate/swupdate-public.pem进行更新

代码语言:javascript
复制
[INFO ] : SWUPDATE started :  Software Update started !
[TRACE] : SWUPDATE running :  [network_initializer] : Software update started
[TRACE] : SWUPDATE running :  [extract_file_to_tmp] : Found file
[TRACE] : SWUPDATE running :  [extract_file_to_tmp] :   filename sw-description
[TRACE] : SWUPDATE running :  [extract_file_to_tmp] :   size 1716
[TRACE] : SWUPDATE running :  [extract_file_to_tmp] : Found file
[TRACE] : SWUPDATE running :  [extract_file_to_tmp] :   filename sw-description.sig
[TRACE] : SWUPDATE running :  [extract_file_to_tmp] :   size 256
[TRACE] : SWUPDATE running :  [swupdate_verify_file] : Verify signed image: Read 1716 bytes
[TRACE] : SWUPDATE running :  [swupdate_verify_file] : Verified OK
[TRACE] : SWUPDATE running :  [get_common_fields] : Version 0.1.0
[TRACE] : SWUPDATE running :  [parse_hw_compatibility] : Accepted Hw Revision : 1.0
[TRACE] : SWUPDATE running :  [_parse_images] : Found compressed Image: core-image-minimal-dh-stm32mp1-dhcor-avenger96.ext4.gz in device : /dev/mmcblk0p5 for handler raw
[TRACE] : SWUPDATE running :  [_parse_bootloader] : Bootloader var: rootfspart = 5
[TRACE] : SWUPDATE running :  [check_hw_compatibility] : Hardware dh-stm32mp1-dhcor-avenger96 Revision: 1.0
[TRACE] : SWUPDATE running :  [check_hw_compatibility] : Hardware compatibility verified
[TRACE] : SWUPDATE running :  [extract_files] : Found file
[TRACE] : SWUPDATE running :  [extract_files] :         filename core-image-minimal-dh-stm32mp1-dhcor-avenger96.ext4.gz
[TRACE] : SWUPDATE running :  [extract_files] :         size 232476044 required
[ERROR] : SWUPDATE failed [0] ERROR : HASH mismatch : 24e9e0e03c5f6efbeb20c6b5da53841c04b9580e8409fa11d5f6307886127576 <--> 4ac608927345a1cdb725f018e20ce54c2840b1012917dffafdc85fe95dc26b14
[ERROR] : SWUPDATE failed [1] Image invalid or corrupted. Not installing ...
[TRACE] : SWUPDATE running :  [network_initializer] : Main thread sleep again !
[INFO ] : No SWUPDATE running :  Waiting for requests...
[INFO ] : SWUPDATE running :  [endupdate] : Swupdate *failed* !

sw-description如下:

代码语言:javascript
复制
software =
{
    version = "0.1.0";

    dh-stm32mp1-dhcor-avenger96 = {
    hardware-compatibility: ["1.0"];
        stable : {
            copy1 : {
                images: ({
                        filename = "core-image-minimal-dh-stm32mp1-dhcor-avenger96.ext4.gz";
                        sha256 = "@core-image-minimal-dh-stm32mp1-dhcor-avenger96.ext4.gz";
                        type = "raw";
                        compressed = "zlib";
                        device = "/dev/mmcblk0p4";
                });
                bootenv: (
                {
                    name = "rootfspart";
                    value = "4";
                },
                );
            };
            copy2 : {
                images: ({
                        filename = "core-image-minimal-dh-stm32mp1-dhcor-avenger96.ext4.gz";
                        sha256 = "@core-image-minimal-dh-stm32mp1-dhcor-avenger96.ext4.gz";
                        type = "raw";
                        compressed = "zlib";
                        device = "/dev/mmcblk0p5";
                });
                bootenv: (
                {
                    name = "rootfspart";
                    value = "5";
                },
                );
            };
        };
    }
}

我在menuconfig中设置了“启用签名图像验证”。

此外,我还有一个关于在我的设备上安装rootfs的问题。目前设备是用/dev/mmcblk0p4引导的,但是我可以看到在linux用户空间中也安装了rootfsB (/dev/mmcblk0p5)。我正在使用Yocto的.wks文件来构建双分区方案。

代码语言:javascript
复制
.
.
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root_A --part-name "rootfs_A" --align 4096 --use-uuid --active
part /rootfsB --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root_B --part-name "rootfs_B" --align 4096 --use-uuid

bootloader --ptable gpt

我不知道为什么会发生这种情况,这是预期的行为吗?

有谁能告诉我关于SWUpdate的问题是什么,以及如何解决?

你的帮助将不胜感激。

提前谢谢。

记者:如果这里缺少任何信息,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2022-07-14 15:37:00

我认为在sw-description文件中生成散列的方式与在目标设备上生成哈希的方式不同。

可能是:这只虫子,也许您可以更新您的swupdate版本?

似乎您正在使用元-swupdate层自动生成散列,您是否尝试过手动生成它们并测试它是否有效?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71228516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档