運用編

5.1. Armadillo Twin に Armadillo を登録する

5.1.1. Armadillo の設置前に登録する場合

Armadillo を Armadillo Twin に登録する場合、ケース裏や基板本体に貼付されているシール上のQRコードを使用します。 登録方法についての詳細は Armadillo Twin ユーザーマニュアル 「Armadillo Twin にデバイスを登録する」 をご確認ください。

5.1.2. Armadillo の設置後に登録する場合

Armadillo 設置後の登録については、弊社営業までお問い合わせください。

5.2. Armadillo を設置する

Armadillo を組み込んだ製品を設置する際の注意点や参考情報を紹介します。

5.2.1. 設置場所

開発時と同様に、水・湿気・ほこり・油煙等の多い場所に設置しないでください。 火災、故障、感電などの原因になる場合があります。

本製品に搭載されている部品の一部は、発熱により高温になる場合があります。 周囲温度や取扱いによってはやけどの原因となる恐れがあります。 本体の電源が入っている間、または電源切断後本体の温度が下がるまでの間は、基板上の電子部品、及びその周辺部分には触れないでください。

5.2.2. ケーブルの取り回し

一般的に以下の点を注意して設置してください。また、「ハードウェアの設計」に記載していることにも従ってください。

  • 設置時にケーブルを強く引っ張らないでください。
  • ケーブルはゆるやかに曲げてください。
  • ケーブルを結線する場合、きつくせず緩く束ねてください。

5.2.3. サージ対策

サージ対策については、「ESD/雷サージ」を参照してください。

5.2.4. Armadillo の状態を表すインジケータ

LED にて状態を表示しています。

有線 LAN の状態は表3.16「LAN LEDの動作」を参照ください。

5.2.5. 個体識別情報の取得

設置時に Armadillo を個体ごとに識別したい場合、以下の情報を個体識別情報として利用できます。

  • 個体番号
  • MAC アドレス
[ティップ]

Armadillo の設置前に個体識別情報を記録しておき、設置後の Armadillo を識別できるようにしておくことを推奨します。

これらの情報を取得する方法は以下のとおりです。 状況に合わせて手段を選択してください。

  • 本体シールから取得する
  • コマンドによって取得する

5.2.5.1. 本体シールから取得

Armadillo の各種個体番号、 MAC アドレスなどの個体識別情報は、ケース裏や基板本体に貼付されているシールに記載されています。 製品モデル毎に記載されている内容やシールの位置が異なるので、詳細は各種納入仕様書を参照してください。

5.2.5.2. コマンドによる取得

シールだけでなくコマンドを実行することによっても個体識別情報を取得することができます。以下に個体番号とMACアドレスを取得する方法を説明します。

個体番号を取得する場合、図5.1「個体番号の取得方法(device-info)」に示すコマンドを実行してください。device-infoはバージョン v3.18.4-at.7 以降の ABOSに標準で組み込まれています。

[armadillo ~]# device-info -s
00C900010001 1

図5.1 個体番号の取得方法(device-info)


1

使用しているArmadilloの個体番号が表示されます。

device-infoがインストールされていない場合は図5.2「device-infoのインストール方法」に示すコマンドを実行することでインストールできます。

[armadillo ~]# persist_file -a update
[armadillo ~]# persist_file -a add device-info

図5.2 device-infoのインストール方法


上記の方法でdevice-infoをインストールできない場合は最新のバージョンのABOSにアップデートすることを強く推奨します。非推奨ですが、ABOSをアップデートせずに個体番号を取得したい場合は図5.3「個体番号の取得方法(get-board-info)」に示すようにget-board-infoを実行することでも取得できます。

[armadillo ~]# persist_file -a add get-board-info
[armadillo ~]# get-board-info -s
00C900010001 1

図5.3 個体番号の取得方法(get-board-info)


1

使用しているArmadilloの個体番号が表示されます。

[ティップ]

コンテナ上で個体番号を表示する場合は、個体番号を環境変数として設定することで可能となります。 図5.4「個体番号の環境変数をconfファイルに追記」に示す内容を/etc/atmark/containersの下のconfファイルに記入します。

add_args --env=SERIALNUM=$(device-info -s) 1

図5.4 個体番号の環境変数をconfファイルに追記


1

コンテナ起動毎に環境変数SERIALNUMに値がセットされます。

図5.5「コンテナ上で個体番号を確認する方法」に示すコマンドを実行することでコンテナ上で個体番号を確認することができます。

[container ~]# echo $SERIALNUM
00C900010001

図5.5 コンテナ上で個体番号を確認する方法


次にMACアドレスを取得する方法を説明します。 図5.6「MAC アドレスの確認方法」に示すコマンドを実行することで、各インターフェースの MAC アドレスを取得できます。

[armadillo ~]# ip addr
: (省略)
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:11:0c:12:34:56 brd ff:ff:ff:ff:ff:ff 1
: (省略)

図5.6 MAC アドレスの確認方法


1

link/etherに続くアドレスがMAC アドレスです。

また、出荷時にアットマークテクノが書き込んだEthernet MAC アドレスは図5.7「出荷時のEthernet MAC アドレスの確認方法」に示すコマンドを実行することで取得することができます。

[armadillo ~]# device-info -m
eth0: 00:11:0C:12:34:56 1

図5.7 出荷時のEthernet MAC アドレスの確認方法


1

出荷時にアットマークテクノが書き込んだEthernet MAC アドレスが表示されます。

ただし、図5.7「出荷時のEthernet MAC アドレスの確認方法」で示すコマンドでは、お客様自身で設定したEthernet MAC アドレスを取得することはできないのでご注意ください。お客様自身で設定したEthernet MAC アドレスを取得したい場合は図5.6「MAC アドレスの確認方法」に示すコマンドを実行してください。

5.2.6. 電源を切る

Armadillo の電源を切る場合は、 poweroff コマンドを実行してから電源を切るのが理想的です。 しかし、設置後はコマンドを実行できる環境にない場合が多いです。 この場合、条件が整えば poweroff コマンドを実行せずに電源を切断しても安全に終了できる場合があります。

詳細は、「終了方法」を参照してください。

5.3. ABOSDE で開発したアプリケーションをアップデートする

ABOSDE で開発したアプリケーションのアップデートは、開発時と同様に ABOSDE を用いて行うことが出来ます。

「ABOSDEによるアプリケーションの開発」で示したように、開発時にはリリース版のアプリケーションを Armadillo にインストールするために、 VScode の左ペインの [Generate release swu] を実行して release.swu を作成しました。

アップデート時にも、アップデートに必要なアプリケーションの編集をした後に [Generate release swu] を実行して、アップデート版のアプリケーションを含む release.swu を作成します。

具体的な ABOSDE を用いたアプリケーションのアップデートの流れは「アプリケーションのアップデート手順」に示します。

5.3.1. アプリケーションのアップデート手順

ここでは、プロジェクト名を my_project としています。

5.3.1.1. アップデートするアプリケーションのプロジェクトを VScode で開く

図5.8「VScode を起動」で示すように、アップデートするアプリケーションのプロジェクトを指定して VSCode を起動してください。

[ATDE ~]$ code my_project

図5.8 VScode を起動


5.3.1.2. アップデート前のバージョンのプロジェクトを管理する

ABOSDE では、プロジェクトのバージョン管理は行っていません。 必要な場合はユーザー自身でアップデート前のプロジェクトを管理してください。

[ティップ]

アップデート前のプロジェクトの release.swu のバージョンを知りたい場合は「SWU イメージの内容の確認」を参照してください。

5.3.1.3. アプリケーションのソースコードを編集しテストする

既存のアプリケーションのソースコードを編集した後、「ABOSDEによるアプリケーションの開発」を参考に、アプリケーションが Armadillo 上で問題なく動作するかテストを行ってください。

5.3.1.4. アップデート用の swu を作成する

VScode の左ペインの [Generate release swu] を実行してください。my_project ディレクトリ下に release.swu というファイル名で SWU ファイルが作成されます。

5.3.1.5. 運用中の Armadillo のアプリケーションをアップデートする

アプリケーションをアップデートするために、作成した release.swu を運用中の Armadillo にインストールしてください。SWU イメージファイルをインストールする方法は「SWU イメージのインストール」を参照してください。

5.4. Armadillo のソフトウェアをアップデートする

設置後の Armadillo のソフトウェアアップデートは SWUpdate を使用することで実現できます。

ここでは、ソフトウェアのアップデートとして以下のような処理を行うことを例として説明します。

  • すでに Armadillo に sample_container_image というコンテナイメージがインストールされている
  • sample_container_image のバージョンを 1.0.0 から 1.0.1 にアップデートする
  • sample_container_image からコンテナを自動起動するための設定ファイル(sample_container.conf)もアップデートする

5.4.1. SWUイメージの作成

アップデートのために SWU イメージを作成します。 SWUイメージの作成には、 mkswu というツールを使います。 「開発の準備」で作成した環境で作業してください。

5.4.2. mkswu の desc ファイルを作成する

SWU イメージを生成するには、 desc ファイルを作成する必要があります。

images/abos-images/desc-to-swu.png

図5.9 desc ファイルから Armadillo へ SWU イメージをインストールする流れ


desc ファイルとは、 SWU イメージを Armadillo にインストールする際に行われる命令を記述したものです。 /usr/share/mkswu/examples/ ディレクトリ以下にサンプルを用意していますので、やりたいことに合わせて編集してお使いください。 なお、 desc ファイルの詳細な書式については、「mkswu の .desc ファイルを編集する」を参照してください。

まず、以下のようなディレクトリ構成で、 sample_container.conf を作成しておきます。 設定ファイルの内容については割愛します。

[ATDE ~/mkswu]$ tree container_start
container_start
└── etc
    └── atmark
        └── containers
            └── sample_container.conf

このような階層構造にしているのは、インストール先の Armadillo 上で sample_container.conf を /etc/atmark/containers/ の下に配置したいためです。

次に、アップデート先のコンテナイメージファイルである sample_container_image.tar を用意します。 コンテナイメージを tar ファイルとして出力する方法を図5.10「コンテナイメージアーカイブ作成例」に示します。

[armadillo ~]# podman save sample_container:[VERSION] -o sample_container_image.tar

図5.10 コンテナイメージアーカイブ作成例


次に、sample_container_update.desc という名前で desc ファイルを作成します。 図5.11「sample_container_update.desc の内容」に、今回の例で使用する sample_container_update.desc ファイルの内容を示します。 sample_container_image.tar と、コンテナ起動設定ファイルを Armadillo にインストールする処理が記述されています。

[ATDE ~/mkswu]$ cat sample_container_update.desc
swdesc_option version=1.0.1

swdesc_usb_container "sample_container_image.tar" 1
swdesc_files --extra-os "container_start" 2

図5.11 sample_container_update.desc の内容


1

sample_container_image.tar ファイルに保存されたコンテナをインストールします。

2

container_start ディレクトリの中身を転送します。

コマンドは書かれた順番でインストールされます。

5.4.3. desc ファイルから SWU イメージを生成する

mkswu コマンドを実行することで、 desc ファイルから SWU イメージを生成できます。

[ATDE ~/mkswu]$ mkswu -o sample_container_update.swu sample_container_update.desc 1
[ATDE ~/mkswu]$ ls sample_container_update.swu 2
sample_container_update.swu

図5.12 sample_container_update.desc の内容


1

mkswu コマンドで desc ファイルから SWUイメージを生成

2

sample_container_update.swu が生成されていることを確認

作成されたSWUイメージの内容を確認したい場合は、「SWU イメージの内容の確認」を参照してください。

5.4.4. イメージのインストール

インストールの手順については、「SWU イメージのインストール」を参照してください。

5.5. Armadillo Twin から複数の Armadillo をアップデートする

Armadillo Twin を使用することで、自身でサーバー構築を行うことなくネットワーク経由で SWU イメージを配信し、デバイスのソフトウェアを更新することができます。 Armadillo Twin を使用したソフトウェアアップデートを行うためには、Armadillo Twin へのデバイスの登録が完了している必要があります。 Armadillo Twin へのデバイスの登録方法については、「Armadillo Twin に Armadillo を登録する」 をご確認ください。 また、Armadillo Twin を使用したソフトウェアアップデートの実施方法については、 Armadillo Twin ユーザーマニュアル 「デバイスのソフトウェアをアップデートする」 をご確認ください。

5.6. eMMC の寿命を確認する

5.6.1. eMMC について

eMMC とは embedded Multi Media Card の頭文字を取った略称でNAND型のフラッシュメモリを利用した内蔵ストレージです。当社で使用しているものは長期間運用を前提としている為、使用する容量を半分以下にしてSLCモードで使用しています。(例えば32GB製品を10GBで使用、残り22GBは予備領域とする)。

eMMC は耐性に問題が発生した個所を内部コントローラがマスクし、予備領域を割り当てて調整しています。絶対ではありませんが、この予備領域がなくなると書き込みが出来なくなる可能性があります。

5.6.2. eMMC 予備領域の確認方法

Armadillo Base OS には emmc-utils というパッケージがインストールされています。

図5.13「eMMC の予備領域使用率を確認する」に示すコマンドを実行し、 EXT_CSD_PRE_EOL_INFO の内容を確認することで eMMC の予備領域の使用率がわかります。 EXT_CSD_PRE_EOL_INFO の値と意味の対応を表5.1「EXT_CSD_PRE_EOL_INFO の値の意味」に示します。

[armadillo ~]# mmc extcsd read /dev/mmcblk0 | grep EXT_CSD_PRE_EOL_INFO
eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01

図5.13 eMMC の予備領域使用率を確認する


表5.1 EXT_CSD_PRE_EOL_INFO の値の意味

意味

0x01

定常状態(問題無し)

0x02

予備領域 80% 以上使用

0x03

予備領域 90% 以上使用


また、Armadillo Twin からも eMMC の予備領域使用率を確認することができます。 詳細は Armadillo Twin ユーザーマニュアル 「デバイス監視アラートを管理する」をご確認ください。

5.7. Armadillo の部品変更情報を知る

Armadillo に搭載されている部品が変更された場合や、製品が EOL となった場合には以下のページから確認できます。

また、Armadillo サイトにユーザー登録していただくと、お知らせをメールで受信することが可能です。 変更通知についても、メールで受け取ることが可能ですので、ユーザー登録をお願いいたします。

ユーザー登録については「ユーザー登録」を参照してください。

5.8. Armadillo を廃棄する

運用を終了し Armadillo を廃棄する際、セキュリティーの観点から以下のようなことを実施する必要があります。

  • 設置場所に Armadillo を放置せず回収する
  • Armadillo をネットワークから遮断する

    • SIM カードが挿入されているのであれば抜き、プロバイダーとの契約を終了する
    • 無線 LAN の設定を削除する
    • 接続しているクラウドのデバイス証明書を削除・無効にすることでクラウドに接続できなくする
  • 物理的に起動できなくする