コンテンツにスキップ

Armadillo Base OS のソフトウェアアップデート機能の特徴

Armadillo TwinはArmadillo Base OS搭載デバイスと連携することで、OTA、有線を経由したリモートアップデートを実現できます。

Armadillo Base OSはSWUpdateを利用してソフトウェアアップデート機能を実現しています。SWUpdateはデバイス上で実行されるプログラムであり、ネットワーク/ストレージ経由でデバイスのソフトウェアをアップデートできます。 Stefano Babic, DENX software engineering, Germanyによってオープンソースで開発が進められています。

A/Bアップデート (アップデートの2面化)

Section titled “A/Bアップデート (アップデートの2面化)”

Armadillo Base OSのアーキテクチャでは、OSやブートローダー、アプリケーションなどフラッシュメモリのコンテンツを二重化して2つのバンクに配置します。アップデートを行うときには、動作中のバンクには変更を加えず、通常動作しながらスタンバイバンクをアップデートします。そのため、たとえ電源断、ネットワーク切断、ソフトウェアの問題による中断があっても動作中のバンクには影響ありません。アップデートが完了するとスタンバイしているバンクへと切り替えます。つまり、アップデートを繰り返すと交互にバンクを切り替えることになります。

リカバリー (ロールバック)動作

Section titled “リカバリー (ロールバック)動作”

動作が不安定なソフトウェアを書いてしまい、システムが起動できなくなった際、自動的にアップデート前のシステムへロールバックする機能を提供します。ブートに必要なファイルが存在しない場合、もしくは3回起動に失敗した場合、スタンバイバンクからの起動を試みます。動作が不安定な開発フェーズを主な想定としており、セキュリティ上の懸念があれば市場運用で無効にできます。

アップデートファイルの圧縮、暗号化、署名付与

Section titled “アップデートファイルの圧縮、暗号化、署名付与”

アップデート内容はSWUイメージにまとめられてアップデート処理で利用されます。SWUイメージは圧縮、暗号化、署名付与に対応しています。

ユーザー定義のバージョンを利用してソフトウェアがダウングレードするのを防ぐことができます。開発フェーズ向けにダウングレード防止機能を無効にできます。