Armadillo のファームウェアアップデート機構として、 SWUpdate を提供しています。
SWUpdate は、ソフトウェアコンポーネントをアップデートするためのツールです。
desc ファイルというインストール実行時に行う処理を記載したファイルから SWU イメージというアップデートファイルを生成します。
この SWU イメージを様々な方法で Armadillo にインストールすることでアップデートを実現できます。
8.1.2. ABOS Web を使用した手動インストール
ABOS Web から PC 上の SWU イメージや HTTP サーバー上の SWU イメージを Armadillo にインストールできます。
ABOS Web のトップページから、"SWU インストール"をクリックすると、図8.1「SWU インストール」の画面に遷移します。
この画面では、PC 上の SWU イメージファイルまたは HTTP サーバー上の SWU イメージファイルの URL を指定して、Armadillo にインストールできます。
"現在の SWU で管理されているバージョン" 欄には、ABOS の各ソフトウェアコンポーネントの名前とバージョン情報を一覧表示します。
8.1.2.1. ABOSDE から ABOS Web を使用した手動インストール
VS Code 拡張機能の ABOSDE を使用することで、Armadillo で動作している ABOS Web 経由でアップデートできます。
ローカルネットワーク上の Armadillo をスキャンした後に、
図8.3「ABOSDE で Armadillo に SWU をインストール」 の赤枠で囲まれているボタンをクリックすることで、選択した Armadillo に SWU をインストールできます。
SWU インストールのログは VS Code 画面下部の OUTPUT に表示されます。
8.1.2.2. USB メモリまたは microSD カードからの自動インストール
Armadillo に USB メモリを接続すると自動的にアップデートが始まります。
アップデート終了後に Armadillo は自動で再起動します。
USB メモリや microSD カードを vfat もしくは ext4 形式でフォーマットし、作成した SWU イメージをディレクトリを作らずに配置してください。
[ATDE ~/mkswu]$ df -h
Filesystem Size Used Avail Use% Mounted on
: (省略)
/dev/sda1 15G 5.6G 9.1G 39% /media/USBDRIVE
[ATDE ~/mkswu]$ cp initial_setup.swu /media/USBDRIVE/
[ATDE ~/mkswu]$ umount /media/USBDRIVE 
|
USB メモリがマウントされている場所を確認します。
|
|
ファイルをコピーします。
|
|
/media/USBDRIVE をアンマウントします。コマンド終了後に USB メモリを取り外してください。
|
8.1.2.3. 外部記憶装置からイメージの手動インストール
USB メモリや microSD カード等の外部記憶装置のルートディレクトリ以外に SWU イメージを保存して、手動でイメージのインストールを行います。
なお、ルートディレクトリに保存すると自動アップデートが実行されます。
[armadillo ~]# swupdate -i /mnt/swu/initial_setup.swu
SWUpdate v5f2d8be-dirty
Licensed under GPLv2. See source distribution for detailed copyright notices.
[INFO ] : SWUPDATE running : [main] : Running on AGX4500 Revision at1
[INFO ] : SWUPDATE started : Software Update started !
[INFO ] : SWUPDATE running : [read_lines_notify] : No base os update: copying current os over
[INFO ] : SWUPDATE running : [read_lines_notify] : Removing unused containers
[INFO ] : SWUPDATE running : [read_lines_notify] : swupdate triggering reboot!
Killed
8.1.2.4. Armadillo Twin を使用した自動インストール
Armadillo Twin を使用することで、自身でサーバー構築を行うことなくネットワーク経由で SWU イメージを配信し、デバイスのソフトウェアを更新できます。
複数台管理してアップデートすることも可能です。
また、Armadillo Twin を使用したソフトウェアアップデートの実施方法については、 Armadillo Twin ユーザマニュアル「デバイスのソフトウェアをアップデートする」 を参照してください。
8.1.2.5. ウェブサーバーからイメージの手動インストール
SWU イメージをウェブサーバーにアップロードして、イメージのインストールを行います。
以下は、http://server/initial_setup.swu のイメージをインストールする例です。
[armadillo ~]# swupdate -d '-u http://server/initial_setup.swu'
SWUpdate v5f2d8be-dirty
Licensed under GPLv2. See source distribution for detailed copyright notices.
[INFO ] : SWUPDATE running : [main] : Running on AGX4500 Revision at1
[INFO ] : SWUPDATE running : [channel_get_file] : Total download size is 25 kB.
[INFO ] : SWUPDATE started : Software Update started !
[INFO ] : SWUPDATE running : [read_lines_notify] : No base os update: copying current os over
[INFO ] : SWUPDATE running : [read_lines_notify] : Removing unused containers
[INFO ] : SWUPDATE running : [read_lines_notify] : swupdate triggering reboot!
Killed
8.1.2.6. ウェブサーバーからの定期的な自動インストール
swupdate-url サービスを有効にすると、定期的に登録した URL をチェックして指定した時間に SWUpdate を実行します。
以下はサービスの有効化とタイミングの設定の例です。
[armadillo ~]# rc-update add swupdate-url
[armadillo ~]# persist_file /etc/runlevels/default/swupdate-url
[armadillo ~]# echo https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g4/image/baseos-x2-latest.swu \
> /etc/swupdate.watch
[armadillo ~]# echo 'schedule="0 tomorrow"' > /etc/conf.d/swupdate-url
[armadillo ~]# echo 'rdelay="21600"' >> /etc/conf.d/swupdate-url
[armadillo ~]# persist_file /etc/swupdate.watch /etc/conf.d/swupdate-url 
|
swupdate-url サービスを有効にします。
|
|
サービスの有効化を保存します。
|
|
イメージの URL を登録します。一行ごとにイメージの URL を設定でき、複数行にイメージの URL を設定できます。
|
|
チェックやインストールのスケジュールを設定します。
|
|
変更した設定ファイルを保存します。
|
USB メモリからのアップデートと同様に、ログは /var/log/messages に保存されます。