私はRaspberry PIへのアップグレードがHTTP経由で行われ、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)を使用して破損の可能性を大幅に減らしました。最初の問題は、起動中に電源が切断されたときのファイルシステムの破損でした。ただし、第2ステージのブートローダーを作成/検索したいのですが。