運用編

5.1. Armadillo を設置する

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

5.1.1. 設置場所

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

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

5.1.2. ケーブルの取り回し

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

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

5.1.3. サージ対策

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

5.1.4. 個体識別情報の取得

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

  • 個体コード
  • MAC アドレス

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

  • 本体シールから取得する
  • コマンドを実行して取得する

5.1.4.1. 本体シールから取得

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

5.1.4.2. コマンドから取得

シリアルインターフェースや、ネットワーク経由で Armadillo 上でコマンドを実行できる場合は、コマンドから個体識別情報を取得することができます。

図5.1「個体コードの確認方法」に示すコマンドを実行することで個体コードを取得できます。

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

図5.1 個体コードの確認方法


1

使用しているArmadilloの個体コードが表示されます。

[ティップ]

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

add_args --env=SERIALNUM=$(get-board-info -s) 1

図5.2 個体コードの環境変数をconfファイルに追記


1

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

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

[container ~]# echo $SERIALNUM
00C900010001

図5.3 コンテナ上で個体コードを確認する方法


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

[armadillo ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:0C:12:34:56 1
: (省略)

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


1

HWaddrに続くアドレスがMAC アドレスです。

5.1.5. 電源を切る

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

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

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

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

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

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

5.2.1. SWUイメージの作成

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

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

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

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

図5.5 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.6「コンテナイメージアーカイブ作成例」に示します。

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

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


次に、sample_container_update.desc という名前で desc ファイルを作成します。 図5.7「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.7 sample_container_update.desc の内容


1

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

2

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

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

5.2.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.8 sample_container_update.desc の内容


1

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

2

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

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

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

5.3. eMMC の寿命を確認する

5.3.1. eMMC について

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

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

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

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

図5.9「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.9 eMMC の予備領域使用率を確認する


表5.1 EXT_CSD_PRE_EOL_INFO の値の意味

意味

0x01

定常状態(問題無し)

0x02

予備領域 80% 以上使用

0x03

予備領域 90% 以上使用


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

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

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

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

5.5. Armadillo を廃棄する

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

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

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