なぜその先へ? Raspberry Pi OS?
CM5)は Raspberry Pi Compute Module 5(CM5)は、PCIe、NVMeストレージ、LPDDR4X RAMといった本格的な組み込み性能を提供します。しかし、実際の製品を出荷するつもりなら、単にSDカードから起動するだけでは不十分です。 Raspberry Pi OSでは不十分です。
制御されたイメージビルドプロセス、再現可能なコンフィギュレーション、信頼できるアップデートメカニズムが必要です。
伝統的に Yoctoや Buildrootなどのプロジェクトが使用されていますが、これらは学習曲線が急で、ビルドに時間がかかります。
小規模なチームやスタートアップ企業、あるいはカスタムの工業製品にとっては、このようなプロジェクトはやり過ぎのように感じられるかもしれません、 Yoctoはやりすぎに感じるかもしれません。では、もし Raspberry Pi OS自動化、信頼性、簡単なアップデートが実現できるとしたらどうでしょう?
このシリーズでは、その軽量な選択肢を探ります。 rpi-image-genA/Bパーティション rpi-sb-provisionerそして SWUpdateを使用して、モジュール化された生産可能なパイプラインを形成します。
なぜスキップ? Yocto?
Yoctoの最大の強みは、その複雑さでもあります。カーネル、ブートローダ、ツールチェイン、ユーザースペースなど、すべてをソースからビルドします。
ベースとなるシステムがすでに十分にサポートされている場合、このように Raspberry Pi OSのように、ベースシステムがすでに十分にサポートされている場合、すべてを再構築することは不必要で時間のかかることです。
その代わりに、次のことができます:
- ブートローダとカーネルを Raspberry Piブートローダとカーネルの再利用
- 設定の自動化による再現可能なイメージの生成
- プロビジョニングとアップデートに実績のあるツールを使用
このアプローチでは、わずか20%の労力で、プロダクション・グレードの利点の80%を実現できます。
スタックの概要
このシリーズでは、生産可能なシステムを構築するための実用的なツールキットを探ります。 Linuxのオーバーヘッドなしに Yocto:
- rpi-image-gen- 自動化 Raspberry Pi OSイメージ生成
- A/B rootfs - 安全なシステムアップグレードのためのデュアルパーティション
- rpi-sb-provisioner- 自動デバイスオンボーディング
- SWUpdate- OTAファームウェア管理
これらのツールを組み合わせることで、再現性、保守性、アップグレード性の高い組込みシステムを設計することができます。 Linux組み込みシステムを設計できます。 Raspberry Piエコシステム
情報源
- rpi-image-gen:https://github.com/raspberrypi/rpi-image-gen
- rpi-sb-provisioner:https://github.com/raspberrypi/rpi-sb-provisioner
- SWUpdate:https://github.com/sbabic/swupdate
- swugenerator:https://github.com/sbabic/swugenerator