dop*_*pey 6 firmware embedded-linux bootloader raspberry-pi raspbian
我们使用Raspberry Pi嵌入式计算机将客户网络上的IP摄像机连接到基于云的录制服务.我们使用Raspbian,约50%是Wheezy,50%是Jessie.
我们面临的挑战是如何远程更新这些IFU上运行的软件.
我们当前的方法涉及使用SSH和Ansible.我们有一个复杂的Ansible脚本,它对Raspberry Pi进行了所有更改,我们已经在一定程度上实现了自动化,因此我们可以一次更新大量的Raspberry Pi.
但问题是这是非原子更新.Raspberry Pi不一定总是具有完全相同的软件包版本,具体取决于它们何时更新.它也可能升级到中途失败等.
我知道有几种方法可以通过下载新的"软件映像"进行原子升级,然后使用引导程序交换使用它.我认为OpenWRT可以做到这一点以及swupdate:https://github.com/sbabic/swupdate
有没有人曾经在Raspberry Pi上做过这样的事情?
谢谢
dop*_*pey 10
作为对这个问题的一点更新,我发现了几种方法.
首先要考虑的是你不必像@ user3145836所指出的那样坚持使用RPI的默认引导加载程序.Uboot允许您翻转启动分区.
目前最好的选择似乎是https://mender.io,这是我们选择的选项.
如果您可以将应用程序停靠,https: //resin.io/ 是一种很好的托管方式.