OTA用OSTreeリポジトリ作成

Verdin i.mx8MP向けにTorizonOS6.6をbitbakeでビルドしその環境を元にターゲット上で設定やユーザー設定ファイル、Dockerコンテナ、コンテナ上で動作するアプリケーションなどをカスタムしています。またkernelも別途ビルドして、kernel Imageも差し替えています。

ローカルOTA向けに、OSTreeリポジトリを作成したいと思いますが、流れと、手順の詳細を教えてください。

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Torizon OS 6.6のローカルOTAセットアップについて

Verdin iMX8M Plus向けのTorizon OS 6.6カスタムビルドでローカルOTAを設定する流れをご説明します。

OSTreeとAktualizrについて

Torizon OSは、OSTreeとAktualizrを使用してOTA更新を実現しています(1)。OSTreeは、bootable filesystem treesを管理するgit-likeなシステムで、Aktualizrは、Uptaneを実装したクライアント側のC++アプリケーションです(1)

TorizonのOTA更新システム

Torizon Remote Updatesは、デバイス側とサーバー側の両方をカバーする完全なソリューションを提供しています(2)

  • デバイス側: Torizon OSはOSTreeを使用し、Aktualizrが認証と整合性をチェックし、OTAのセキュリティ部分を処理します(2)
  • サーバー側: Toradexはapp.torizon.ioでホストされたサーバーを提供していますが、ローカル展開も可能です(2)

OSTreeの特徴

OSTreeは以下の特徴があります(3)

  • 新しいファイルや変更されたファイルのみをダウンロードする適応型更新
  • "OSTree static deltas"による追加的なサイズ削減
  • オブジェクト毎のバイナリデルタ
  • HTTP GETリクエスト数の大幅削減

ローカルOTAリポジトリ作成の基本的な流れ

ただし、提供された情報源では、ローカルOSTreeリポジトリの具体的な作成手順の詳細は含まれていません。

Torizon OSのビルドプロセスについては、Yocto Project/OpenEmbeddedを使用した詳細な手順が文書化されています(4)。bitbakeでのビルドには以下の要素が必要です:

  • Manifest Branch: scarthgap-7.x.y(Torizon OS 7.x.y用)またはkirkstone-6.x.y(Torizon OS 6.x.y用)(4)
  • Machine: verdin-imx8mp(Verdin iMX8M Plus用)(4)
  • Image: torizon-dockerまたはtorizon-minimal(4)

次のステップ

ローカルOSTreeリポジトリの具体的な作成手順については、より詳細な技術文書が必要です。以下のリソースが参考になる可能性があります:

より具体的な手順については、一般的な回答をご希望でしたらお知らせください。

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

この度はお問い合わせいただきありがとうございます。

ローカルOTAについてですが、Yoctoでイメージをビルドした時点で、OTAに使用可能なイメージ自体はすでに生成されています。
ただし、OSTreeのコマンドを直接使用してOTAを行う方法は、現在サポートしておりません。

その代わりに、TorizonCore Builderを使用して、ビルドしたイメージをTorizon Cloudへプッシュし、Uptaneフレームワークを用いてOTA更新を行う必要があります。
手順の詳細については、以下のドキュメントをご参照ください。
https://developer.toradex.com/torizon/torizon-platform/torizon-updates/signing-and-pushing-torizoncore-packages-to-torizon-ota

ローカル(オフライン)でのOTA更新を行う場合は、更新データを含んだLOCKBOXを作成し、それをUSBデバイスにダウンロードします。そのUSBをターゲットデバイスに挿入することで、OTA更新が実行されます。こちらの手順については、以下をご確認ください。
https://developer.toradex.com/torizon/torizon-platform/torizon-updates/how-to-use-secure-offline-updates-with-torizoncore

これらの手順がやや複雑に見える理由は、デバイスとアップデートを厳密に紐付け、第三者による不正なアクセスや改変を防止するためです。そのため、いずれの方法でもTorizon Cloudのアカウントが必要になります。

もしTorizon Cloudの仕組みについて、もう少し詳しい説明やデモをご希望でしたら、打ち合わせを設定し、YoctoイメージをTorizon Cloudへプッシュする流れやLOCKBOX作成の手順をご紹介することも可能です。

一方で、OTA機能を使用せず、eMMCの内容をすべて削除して新しいOSを書き直す形でも問題ない場合は、Easy Installerを使用してイメージを再フラッシュする方法もございます。
この方法では、一般的な工場出荷時の書き込みと同様に、既存のデータはすべて削除されます。

以上、引き続きよろしくお願いいたします。
アルバロ。