嵌入式Linux OTA更新第2部分:评估现成更新平台
第一部分涵盖嵌入式Linux OTA更新系统基础与实现。本期评估可直接集成到项目的流行开源现成平台。
Mender
Mender提供开箱即用的打磨体验。采用类似前文所述的双根文件系统策略,与U-Boot紧密集成,实现镜像启动失败时无缝回滚。
得益于清晰分步文档,上手直观。针对Raspberry Pi和BeagleBone Black的参考构建展示适配硬件所需工作量。
我经验中,集成约耗三天。过程涉及Yocto(Morty)构建微调,需熟悉OpenEmbedded和U-Boot正确配置双启动机制。
构建完成,Mender输出含引导加载程序和文件系统的“sdimg”文件,写入闪存。也产出“artifacts”捆绑新文件系统镜像与元数据。
Artifacts可通过mender CLI手动安装,或通过Web界面上传至后端服务器自动部署到目标单元。
后端管理控制台基于Docker,简化初始部署。Web UI让您监控所有现场设备,向单个单元或组推送更新。
点击查看大图
图1: Mender自定义Web界面推送更新 (来源:Mender)
Mender大部分用Go编写,长期维护建议具备Go知识。Go在嵌入式开发中尚未普及,但采用率在增长。
然而,Mender锁定单一启动设备(如/dev/mmcblk0)并假设特定引导加载程序和内核配置,如特定文件系统支持。也强制要求systemd,可能排除依赖替代初始系统的项目。
SWUpdate
SWUpdate提供高度可配置框架。配置用熟悉的kconfig语法,让开发者定制系统适配需求。
关键能力含支持多引导加载程序(U-Boot、GRUB、EFI Boot Guard)、公钥签名验证镜像、可选对称密钥加密载荷。

图2: SWUpdate配置系统 (来源:SWUpdate)
嵌入式
- 模块化设计中嵌入式技术的优势:案例解析与趋势
- 选择适合工业自动化需求的3D视觉系统
- 嵌入式系统调试:类型、技术与工具打造可靠软件
- 嵌入式系统如何驱动现代汽车创新
- 嵌入式系统:定义、架构与现实应用
- IC技术与微控制器:现代嵌入式系统的基石
- 嵌入式系统中的网络:类型、角色与重要性
- STMicroelectronics展示28nm FD-SOI MCU内嵌PCM赋能动力总成、ADAS与电动化
- Cervoz超薄M.2 NVMe SSD:面向工业边缘应用的高性能存储
- 为先进机器人系统打造精准电机控制
- 如何为业务选择合适的AWS容器编排服务
- 2021 年 Windows/macOS/Linux 十大 C# IDE 评测