我正在一个项目中,它将通过HTTP升级Raspberry PI,并且Raspberry PI将无法直接访问(不能只是交换卡)。
我想要这样的分区设置:
- 分区1- / boot(两个分区均包含内核)
- 分区2-/(恢复分区)
- 分区3- /(主分区)
当升级失败并且Raspberry PI进入重启循环或挂起时,我希望用户能够按下一个按钮,该按钮触发GPIO线,这将导致引导加载程序引导进入恢复分区而不是主分区。
恢复分区永远不会升级,因此这是安全的。
我看到几个选择:
- 始终引导到恢复分区,检查GPIO,然后引导到未按下任何按钮的主分区
- GPIO由引导加载程序直接检查
我基本上是在尝试做类似于路由器的操作,如果您在启动时保持复位状态,则可以在新映像或其他内容上进行TFTP。
Raspberry PI有可能吗?如果是这样,是否有任何有关执行此类操作的文档?
编辑:
我找到了以下相关问题的答案:是否可以从SD卡双重启动?
对上述问题的评论将我引到了这里:http : //www.berryterminal.com/doku.php/berryboot。这看起来很有希望,但是我将不得不对其进行更多研究,以查看是否可以从中读取GPIO。如果有人有任何经验,我会很感兴趣。
/boot
((RO),/
(RO),/var
(RW),/home
(RW))大大降低了损坏的可能性。最初的问题是引导期间断电时文件系统损坏。我仍然想编写/查找第二阶段的引导程序。