ブログ

Armadillo Base OS:SWUpdateでソフトウェアアップデートを行う条件について

at_shinya.matsumoto
2022年7月20日 9時58分

本ブログではSWUpdateでソフトウェアアップデートが実行される条件についてご説明します。

SWUpdateとは

SWUpdateはローカル(SD/USBメモリ)、リモートでソフトウェアをアップデートする仕組みで、Armadillo BASE OSに
標準搭載されています。SWUpdateの詳細や初期設定につきましては製品マニュアルを参照下さい。

また、下記ブログもご参考にして頂ければと思います。
■参考ブログ
出荷状態のArmadillo-IoT G4にSWUpdateで効率的にファイルを書き込む
SWUpdateのdescファイル書式について
SWUイメージ作成環境の鍵をインストールし直す

SWUpdateが実行される条件について

SWUpdateは下記2つの条件に両方とも合致した場合のみ実行されます。
合致しない場合はエラー終了(アップデートされない)となります。
アップデートが始まらない場合はコマンド”tail /var/log/messege”でエラーが出ていない事を確認下さい

■アップデートが実行される条件
①ATDE(xxxx.swuを作成した環境)のswupdate.pemがG4の/etc/swupdate.pemに記載されている事
②xxxx.descファイルに記載されたバージョンがG4の/etc/sw-versionsに記載されているバージョンが新しい事(※)

 ※数字の場合は高い方、アルファベットの場合はA<Z

《補足》
 ①のG4側のswupdate.pemはSWUpdateの初期設定(initial_setup.swu)時にG4に書き込まれます
 ②のsw/versionsに記載のないバージョンの場合は②は不問となります

■一部で発生するエラーについて
 Armadillo Base OSのバージョンが古い場合、正常動作でもERRORと表記されることがあります。
 この時、正常にリブートが掛かった場合はアップデートされています。全てのアップデートが正常に
 アップデートされているかどうかはG4の/etc/sw-versionsでバージョンが上がっている事をご確認下さい。

 また、一部のアップデートではswuイメージと一緒に出力されるxxxx.sigファイルが必要になる場合があります。
 (ATDEでswuイメージファイルを出力したときにxxxx.sigも使う様指示が出ます)
 Armadillo Base OSのバージョンが”v3.16.0-at.1”以下の場合、swupdate.pemを作成したATDEの日時と、
 G4(RTC無し、NTP同期無しなど)で日時が大幅にずれている場合、アップデートが失敗する場合があります。
 対処法としてはArmadillo Base OSのバージョンを上げて頂くか、G4の時刻設定を行う事で回避できます。