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

基于JEOS构建OTA机制:树莓派BuildRoot系统更新方案咨询

嘿,针对你用BuildRoot构建的树莓派RF433系统的版本更新问题,我整理了几个实用的方案和工具,不用每次都插拔SD卡重写镜像:

一、BuildRoot原生支持的增量更新方案
  • BuildRoot Update Engine(可选):如果你在BuildRoot配置里开启了BR2_PACKAGE_UPDATE_ENGINE,它支持OTA空中更新。核心是依赖A/B分区架构——提前给SD卡划分两个系统分区,更新时把新镜像推送到备用分区,验证通过后切换启动分区,失败了还能回滚到原分区。配置时在make menuconfig里找Target packages -> System tools -> update-engine,记得启用分区切换相关的脚本和配置。
  • 单个二进制文件替换:像你替换wpa_supplicant这种场景,最简单的方式就是直接把BuildRoot编译好的新二进制(路径是output/target/usr/sbin/wpa_supplicant)推送到设备:
    1. 先停止当前服务:sudo systemctl stop wpa_supplicant(如果用systemd,否则用对应init脚本停止)
    2. 用SCP传输文件:scp output/target/usr/sbin/wpa_supplicant pi@你的树莓派IP:/tmp/
    3. 替换原文件并修正权限:sudo cp /tmp/wpa_supplicant /usr/sbin/ && sudo chmod 755 /usr/sbin/wpa_supplicant
    4. 重启服务:sudo systemctl start wpa_supplicant
      这个方法适合小部件更新,但如果wpa_supplicant依赖的库有变化,就得一起替换相关库文件,不然会启动失败。
二、Linux生态中常用的OTA更新框架/工具

这些工具都是嵌入式Linux更新的主流选择,和BuildRoot集成度很高:

  • RAUC:专门为嵌入式Linux设计的OTA工具,支持A/B分区、镜像签名验证、更新回滚等核心功能。在BuildRoot里开启BR2_PACKAGE_RAUC后,你可以生成.raucb格式的更新包(包含系统镜像或单个组件),然后通过HTTP、FTP甚至本地U盘把包传到设备,RAUC服务会自动处理更新流程,全程无需手动干预。适合需要高可靠性的生产环境。
  • SWUpdate:另一个灵活的更新工具,支持单个文件、分区镜像、完整根文件系统等多种更新方式,还能自定义更新前后的脚本(比如备份配置、停止关键服务)。在BuildRoot里启用BR2_PACKAGE_SWUPDATE后,你需要编写.sw-description元数据文件描述更新内容,然后生成更新包推送到设备即可。
  • Mender:带完整设备管理功能的OTA平台,有客户端和服务器端。客户端可以集成到BuildRoot系统,服务器端可自行部署或用云服务。更新时把BuildRoot生成的镜像上传到Mender服务器,就能批量推送到所有设备,支持A/B分区回滚,还能监控更新状态。适合多设备管理的场景。
三、针对wpa_supplicant替换的快速技巧

如果只是更新wpa_supplicant,还可以打包增量文件批量替换:

  1. 在BuildRoot编译完成后,进入output/target目录,打包wpa_supplicant及其依赖库:
    tar czf wpa_update.tar.gz usr/sbin/wpa_supplicant usr/lib/libwpa_client.so*
  2. 把压缩包传到设备:scp wpa_update.tar.gz pi@你的树莓派IP:/tmp/
  3. 在设备上解压覆盖原文件:sudo tar xzf /tmp/wpa_update.tar.gz -C /
  4. 重启服务完成更新。

注意事项

  • 任何更新过程都要避免设备断电,否则可能导致系统损坏;
  • 关键更新先在测试设备上验证,再推送到生产环境;
  • 用分区更新方案时,要提前规划SD卡分区,确保有足够空间容纳两个系统镜像。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:27:27