本ブログでは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の時刻設定を行う事で回避できます。