You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3基于Yocto构建SWupdate镜像对接Eclipse Hawkbit报错咨询

问题解决方案

1. 解决do_swuimage找不到ext4.gz镜像报错

不要仅保留wic作为唯一镜像格式,修改local.conf中的镜像格式配置:

# 同时生成wic烧录底包和供swupdate打包的ext4.gz根文件系统
IMAGE_FSTYPES += "wic ext4.gz"

不需要硬改update-image.bb中的FSTYPE为.wic,改回默认的ext4.gz即可,构建时会自动生成两类镜像,不会再触发找不到文件的报错。

2. 解决注释WKS_FILE后启动仅显示闪烁光标问题

默认wic分区布局没有适配树莓派U-boot启动的参数,你开启了RPI_USE_U_BOOT = "1",默认布局不会将U-boot引导文件、内核镜像放到正确的启动分区位置,导致启动失败。
不需要直接使用meta-swupdate-boards提供的ts-raspberrypi.wks,该配置默认采用整盘备份的打包逻辑,会把SD卡全分区内容都打包进swu镜像,是导致swu体积过大的核心原因。

3. 解决swu体积过大+SWUpdate报无可用镜像问题

体积过大优化

  • 调整swu打包逻辑:不要打包完整wic镜像,仅打包需要更新的根文件系统ext4.gz,sw-description中指定更新到对应的A/B冗余根分区,swu体积可压缩到和根文件系统接近的大小,完全符合Hawkbit默认上传限制。如果需要调大Hawkbit上传上限,修改Hawkbit配置文件application.properties中的spring.servlet.multipart.max-file-size参数即可。
  • 自定义wks文件:根据实际需求划分分区大小,比如boot分区128M、A/B根分区各1.5G,剩余空间留给用户数据分区,避免默认wks的冗余空间占用。

无可用镜像报错修复

ts-raspberrypi.wks对应的sw-description配置和你修改后的FSTYPE不匹配,改回ext4.gz作为swupdate打包的根文件系统格式后,sw-description里的镜像类型、设备路径和实际运行环境一致,即可解决该报错。

临时验证步骤

  1. 按上述要求修改local.conf的IMAGE_FSTYPES配置
  2. 回退update-image.bb的FSTYPE修改,注释WKS_FILE配置
  3. 构建wic底包镜像,烧录到SD卡确认系统可正常启动、SWUpdate服务运行正常
  4. 构建swu更新包,上传到Hawkbit测试更新流程

内容的提问来源于stack exchange,提问作者artur_roomman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:24:02