ブログ

Armadillo Base OS:通信容量制限のある状況下でのアップデート方法(Armadillo Twinで実行)

at_shinya.matsumoto
2024年11月5日 14時44分

本ブログでは、SIMの契約上の都合で一定の容量を超えて通信できない場合を想定し、アップデートファイルを分割して
ダウンロードし、ファイル結合してアップデートする方法をご紹介します。
※直接Armadillo Twinからダウンロードできない為、別途アップデートファイルを配置するサーバーが必要になります。
Armadillo Twinについて
また、外部からコマンドを実行するには下記手順が必要になります。
Armadillo Twinでのコマンド実行の設定

主な手順

1.アップデートファイルを分割する
2.アップデートファイルとmd5をサーバーに配置する
3.Armadillo Twinで個別にファイルをダウンロードさせる
4.Armadillo Twinでアップデートコマンドを実行させる

1.アップデートファイルを分割する

ATDE環境などで下記コマンドを実行してダウンロードしたいアップデートファイルを分割します。
ここでは例として、Armadillo Base OSを25MBずつに分割してアップデートしてみます。

分割前のファイルを確認
[ATDE]$ ls -l
合計 65M
-rw-r--r-- 1 atmark atmark 67589120  9月 25 10:49 baseos-x2-3.20.3-at.3.swu

ファイル分割を25MBずつに分割(最後のファイルサイズは残り)
[ATDE]$ split -b 25MB baseos-x2-3.20.3-at.3.swu
[ATDE]$ ls -l
合計 129M
-rw-r--r-- 1 atmark atmark 67589120  9月 25 10:49 baseos-x2-3.20.3-at.3.swu  //分割前のファイル
-rw-r--r-- 1 atmark atmark 25000000 10月 25 10:19 xaa  //分割後のファイルA
-rw-r--r-- 1 atmark atmark 25000000 10月 25 10:19 xab  //分割後のファイルB
-rw-r--r-- 1 atmark atmark 17589120 10月 25 10:19 xac  //分割後のファイルC

ダウンロードしたファイルが正常にダウンロード出来ているか確認用に、md5も作成しておくと良いです。
※Armadillo Base OSの場合はArmadilloサイトにmd5を用意しています。
[ATDE]$ md5sum baseos-x2-3.20.3-at.3.swu > baseos-x2-3.20.3-at.3.swu.md5
[ATDE]$ ls
baseos-x2-3.20.3-at.3.swu  baseos-x2-3.20.3-at.3.swu.md5  xaa  xab  xac

2.アップデートファイルとmd5をサーバーに配置する

Armadilloからアクセス可能なサーバーを立てて、下記ファイルを配置します。
・xaa
・xab
・xac
・baseos-x2-3.20.3-at.3.swu.md5 (任意)

3.Armadillo Twinで個別にファイルをダウンロードさせる

Armadillo TwinでArmadilloにコマンド実行させ、対象のファイルをダウンロードさせます。
今回は1個体で実施していますが、個体/グループ単位指定やスケジュール実行が可能です。

コマンド実行例
《注意》
 ファイル名の指定にはご注意下さい。間違えると上書きしたり、結合時に順番が変わってしまいインストール
 出来なくなります。(ファイルのダウンロードからやり直し)


ファイルダウンロードには通信速度によっては時間が掛かる場合がある為、実行中と表示された場合は
更新ボタンを押して完了しているか確認します。

念の為、ダウンロード出来ているかlsコマンドで確認してみます。

問題無くダウンロード出来ている事が確認出来ましたので、残りのファイルも同様にダウンロードしておきます。
今回分割した xaa , xab . xac 全てダウンロードしたらArmadillo Twinで下記コマンドを実行して結合します。

4.Armadillo Twinでアップデートコマンドを実行させる

下記の様にアップデートコマンドを実行し、アップデートが完了すると自動で再起動します。

アップデート完了後、Armadillo Twinのソフトウェアバージョン情報でバージョンが変わっているか確認し、
バージョンが変わっていれば完了となります。