8 个稳定版本

2.1.4 2024年3月8日
2.1.3 2022年6月8日
2.1.1 2022年5月9日
2.1.0 2022年1月18日
2.0.2 2021年4月27日

#83硬件支持 中排名

每月 下载量 29

Apache-2.0

28KB
548

FOSSA Status Coverage Status

平台 构建状态
Linux - x86_64 build status
Linux - AArch64 build status
Linux - ARMv7 build status

UpdateHub 是一个企业级解决方案,它使远程更新现场所有嵌入式设备变得简单。它处理与通过空中发送固件更新(FOTA)相关的所有方面,具有最大安全性,使您的项目成为关注的焦点。

此存储库为基于嵌入式和工业 Linux 的设备提供 UpdateHub 代理。

入门指南

要开始使用 UpdateHub,建议您遵循 UpdateHub 文档中的 入门指南

功能

UpdateHub 提供的设备支持包括

  • 引导加载程序升级支持(U-Boot 和 GRUB)
  • 闪存支持(NAND、NOR)
  • UBIFS 支持
  • 更新包签名验证以提供安全性
  • 更新失败时自动回滚
  • 条件安装(支持内容、版本和自定义模式)
  • 每个更新步骤的回调支持
  • HTTP API 用于控制和查询本地代理

要了解更多关于 UpdateHub 的信息,请参阅我们的 文档

构建和测试

UpdateHub 代理使用 Rust 编程语言开发,因为它注重安全性和系统级集成。如果您希望构建它,可以

cargo build --release

一些测试被标记为忽略,因为它们需要用户权限。有一个 Vagrant 文件可用于运行它们。要在虚拟机上运行测试,请运行

vagrant up
vagrant ssh

然后在 SSH 会话中,运行

sudo -i
cd /vagrant
cargo test
cargo test -- --ignored

许可证

Apache 许可证版本 2.0 许可下(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)。

贡献

UpdateHub 是一个开源项目,我们很高兴接受社区的贡献。如果您想做出贡献,请阅读我们的 贡献指南

除非您明确声明,否则您根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,均应双许可如上所述,没有任何附加条款或条件。


lib.rs:

使用 updatehub-sdk 包来与UpdateHub代理通信。

当运行代理实例时,API提供了一些与UpdateHub通信的方法

依赖项

~7–19MB
~286K SLoC