SWupdate 错误:找不到合适的 .swu 图像

问题描述 投票:0回答:2

我对 eclipse hawkbit 和 SWupdate 相当陌生,在进行生产实施之前,我一直在尝试在 RPi 上进行测试实施。 我已经启动并运行了 Hawkbit,但我在 SWupdate 方面遇到了一些问题,我已经构建了一个

core-image-full-cmdline.wic
.swu
更新图像:

这是

local.conf
:

MACHINE = "raspberrypi3"

IMAGE_FSTYPES += "wic"

RPI_USE_U_BOOT = "1"

KERNEL_IMAGETYPE = "uImage"

IMAGE_INSTALL_append = " kernel-image kernel-modules"

#WKS_FILES_raspberrypi3 = "ts-raspberrypi.wks"

PREFERRED_PROVIDER_u-boot-fw-utils = "libubootenv"

DISTRO_FEATURES_append = " systemd"

DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"

VIRTUAL-RUNTIME_init_manager = "systemd"

VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"

ENABLE_UART = "1"

当我将 IMAGE_FSTYPE 从 ext4 rpimg 更改为 wic 时,我也遇到了此错误:

ERROR: update-image-1.0-r0 do_swuimage: swupdate cannot find image file: /home/aswin/yocto/build/tmp/deploy/images/raspberrypi3/core-image-full-cmdline.ext4.gz
ERROR: Logfile of failure stored in: /home/aswin/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/update-image/1.0-r0/temp/log.do_swuimage.87006
ERROR: Task (/home/aswin/yocto/layers/meta-swupdate-boards/recipes-extended/images/update-image.bb:do_swuimage) failed with exit code '1'

所以我必须改变

update-image.bb
FSTYPE = ".wic"

当我评论这个问题时

#WKS_FILES_raspberrypi3 = "ts-raspberrypi.wks"
然后将映像闪存到 SD 卡并启动它,除了一条闪烁的线之外,什么也没有显示。如果我留下它,那么
.swu
文件太大,无法上传到 hawkbit。

embedded-linux swupdate eclipse-hawkbit hawkbit
2个回答
0
投票

当您遇到硬件兼容性错误、JSON 文件损坏错误、暂时忘记 hawkbit,并尝试查看您的 sw 描述文件是否正在创建更新 rootfs 或其他内容的正确 swu 映像文件时,您希望它如何工作您想使用 mongoose 网络服务器进行更新,然后才转到 hawkbit。

首先解决之前出现的错误

找不到合适的.swu图像

已编辑:请同时放入您用于创建 swu 文件的 sw-descirption 文件以获得进一步帮助。


0
投票

此问题是由于元树莓派创建的图像上的软件更新meta-swupdate层做出的一些假设造成的,该图像采用 .ext3 格式,而不是 ' 预期的 .ext4.gz 格式更新图像'。更新图像预计具有

核心图像-full-cmdline.ext4.gz

作为要生成的输入文件。

对于其余部分,您已经管理了启用的部分 “systemd”作为您的初始化管理器,以便 swupdate 能够在启动时加载。

总之,您应该修改conf/local.conf中的conf文件

...

# Overwrite SDIMG_ROOTFS_TYPE in local.conf
SDIMG_ROOTFS_TYPE = "ext4.gz"

IMAGE_FSTYPES += " tar.bz2 ext4.gz wic.bz2 wic.bmap"

PREFERRED_PROVIDER:u-boot-fw-utils = "libubootenv"
RPI_USE_U_BOOT = "1"
ENABLE_UART = "1"
# KERNEL_IMAGETYPE = "uImage"
# IMAGE_INSTALL:append = " kernel-image kernel-modules"
WKS_FILES:raspberrypi3 = "ts-raspberrypi.wks"


# Enable systemd as default init manager
DISTRO_FEATURES:append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
© www.soinside.com 2019 - 2024. All rights reserved.