Armadilloフォーラム

AGX4500-C00Z 量産機へのUSBメモリ経由のインストール方法について

sato.yagi

2025年4月7日 12時50分

==========
製品型番:AGX4500-C00Z(Armadillo-IoT G4)
Debian/ABOSバージョン:3.20.3-at.7
カーネルバージョン:5.10.224-0-at
3G/LTE モジュール情報 (Debianのみ):利用なし
==========

お世話になっております。柳沼と申します。

先日(4/4)に、タイトル「AGX4500-C00Z 量産機へのインストール方法について」にて
問合せさせていただいた件について、追加質問させてください。

質問事項:
 インストールメディアのUSBメモリに下記ファイルを配置することで対応できる旨を
 ご指導していただきましたが、
 release.swu以外にも開発機に個別に設定しているファイルなどがございます。
 そのため、
 開発機で利用していたArmadillo機器をクローン化して、量産用Armadillo機器に
 インストールするための swuファイルを作成できないかと考えております。
 対応可能な場合、swuファイルの作成手順をご指導いただけないでしょうか。
 よろしくお願いいたします。

> ** ABOSDE を使用している場合
> 1. プロジェクトディレクト上にある initial_setup.swu と release.swu と poweroff.swu を
> 以下の名前に変更して USB メモリに配置してください 。
> - 1_initial_setup.swu
> - 2_release.swu
> - 3_poweroff.swu

■やりたいこと
 量産機を購入後、USBメモリを利用して開発機のコンテナイメージ
 (swu)を量産機にインストール実施したい。
 具体的な手順としては、下記をイメージしており
 本体ケースの開け閉め、JP1作業の実施が必要でもいいです。
  1.量産機の電源OFF状態で、USBメモリ挿入
  2.量産機の電源ONにて、USBメモリから自動インストール
  3.インストール終了後、自動電源OFF
 但し、microSDカードによる量産機へのインストールは避けたい。

コメント

at_satoshi.ohta

2025年4月7日 14時10分

太田です。

abos-ctrl make-installer を使用した時のように開発用 Armadillo の完全な複製を作成することは SWUイメージでは出来ないです。

release.swu以外にも開発機に個別に設定しているファイルがあるということですので、その設定ファイルも release.swu に含める方が管理が楽かと思います。
以下の手順を参考にするのはどうでしょうか?

1. ATDE において release.swu を作成したプロジェクトディレクトリに移動します。
ここでは my_project とします。

$ cd my_project

2. プロジェクトディレクトリ直下に abos/resources を作成
個別に設定しているファイルはおそらくコンテナではなく、ABOS側かと想像しています。
以降でUSB メモリなどで開発用 Armadillo から個別に設定したファイルを抜き出し abos/resources 下に配置します。

$ mkdir -p abos/resources

3. 開発用 Armadillo 上で個別に設定しているファイルを探し、USB メモリなどに保存

4. USB メモリに抜き出したファイルを abos/resources ディレクトリに開発用 Armadillo と同じパスで保存
例えば、開発用 Armadillo 上に /root/test.txt があったとすると、ATDE のプロジェクトディレクトリ上では、

atmark@atde9:~/my_project$ mkdir abos/resources/root

を作成して、/home/atmark/my_project/abos/resources/root に開発用 Armadillo から抜き出した test.txt を配置します。

atmark@atde9:~/my_project$ ls abos/resources/root/
test.txt

5. config/app.desc ファイルに以下を追記

swdesc_files --extra-os --dest / abos/resources

この記述により、作成する release.swu に abos/resources 以下のファイルが含まれます。
release.swu をインストールすると、量産用 Armadillo の / 直下に abos/resources 下のファイルがコピーされます。

6. release.swu を作成
[Generate release swu] を実行して release.swu を作成します。

これで、個別設定していたファイルも release.swu イメージ内に含まれますので、手順は前の案内と同じになります。
上記の方法で不都合はございますでしょうか?

どうぞよろしくお願いいたします。

太田様 ご回答ありがとうございます。
頂いた手順にて、対応を検討させていただいておりますが、1点追加で
質問させていただければと思います。

質問事項
 開発機からクローン化で検討していた理由の一つとして、Armadillo機に
 ABOS-Web画面から「Rest API トークン」を追加し、コンテナ内から
 Rest APIを利用するプログラムを作成しております。
 教えて頂きたいのが、
 今回提示いただいた手順のrelease.swuに「Rest API トークン」の
 ファイルも含めたいと検討しておりますが、ABOSに格納されている
 ディレクトリ名とファイル名をご教授いただけますでしょうか。
 よろしくお願いいたします。

> 太田です。
>
> abos-ctrl make-installer を使用した時のように開発用 Armadillo の完全な複製を作成することは SWUイメージでは出来ないです。
> release.swu以外にも開発機に個別に設定しているファイルがあるということですので、その設定ファイルも release.swu に含める方が管理が楽かと思います。
> 以下の手順を参考にするのはどうでしょうか?
> どうぞよろしくお願いいたします。

at_satoshi.ohta

2025年4月11日 16時34分

太田です。

armadillo:~# ls /etc/atmark/abos_web/tokens

を行うと確認できると思います。
どうぞよろしくお願いいたします。

太田様 ご回答ありがとうございます。

頂いた情報にて「Rest API トークン」をArmadillo機からコピーし、今回提示いただいた手順の
release.swuに配置いたしましたが、別Armadillo機にインストールしたコンテナ内のプログラムから
Rest APIコールしても期待通りの動作とならず、エラーとなってしまします。
必要なファイルが不足していないかABOS-WEB画面より、新規に「Rest API トークン」を作成し
Armadillo機にて確認すると、下記ファイルも生成されておりましたので、こちらもrelease.swuに
配置してみましたが、結果は変わらずでした。
何が悪いのかご指導いただきたく、よろしくお願いします。
 追加フォルダ+ファイル: ”\live\rootfs\etc\atmark\abos_web\tokens\xxxxx.token”
 エラー内容:
  dataset is error. connection=Wired%20connection%201 options=-d ipv4.method=manual -d ipv4.addresses=192.168.101.10/24 status=2

> 太田です。
> armadillo:~# ls /etc/atmark/abos_web/tokens
> を行うと確認できると思います。
> どうぞよろしくお願いいたします。

at_satoshi.ohta

2025年4月28日 9時33分

太田です。

以下、ご確認にいただけますでしょうか?

1. release.swu をインストールした Armadillo の ABOS-Web にアクセスして、コピーしたトークンが存在するかご確認いただけますでしょうか?
ABOS-Web にアクセス > [設定管理] > [Rest API トークン一覧] から確認できます。
参考になるマニュアルの節は以下です。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

2. ATDE から release.swu をインストールした Armadillo に対してコピーしたトークンで「トークン一覧」などを取得できますでしょうか?

どうぞよろしくお願いいたします。

太田様 ご返信ありがとうございます。

ご確認事項について、下記に確認結果を列記させていただきました。
詳細なログ内容については、添付ファイルをご参照お願いいたします。
ご指導のほど、よろしくお願いいたします。

> 1. release.swu をインストールした Armadillo の ABOS-Web にアクセスして、コピーしたトークンが存在するかご確認いただけますでしょうか?
→ ABOS-WEB画面の「設定管理」メニュー選択にて、[permission denied(os error 13)]表示となりトークン画面が開けませんでした
  なお、コピー元のArmadilloですと正常にトークン画面にて確認可能です。

> 2. ATDE から release.swu をインストールした Armadillo に対してコピーしたトークンで「トークン一覧」などを取得できますでしょうか?
→トークン一覧は、Admin権限を付与してないのでエラーとなるため、NetworkView権限にて
 確認いたしましたが、エラー401となります。
 コピー元のArmadilloに機器入替を行い、同じ確認を行うと正常にRest APIの結果を取得できます。

> 太田です。
> 以下、ご確認にいただけますでしょうか?
> どうぞよろしくお願いいたします。

ファイル ファイルの説明
token確認log.txt

at_satoshi.ohta

2025年4月30日 9時15分

太田です。

release.swu をインストールした Armadillo の 「/etc/atmark/abos_web/tokens/トークン」の所有者とグループが root:root になっていることが原因かもしれません。

ATDE9 のプロジェクトディレクトリ/config/app.desc に以下を追記してもう一度 release.swu を作成、インストールした後もう一度試していただけますか?

プロジェクトディレクトリ/config/app.desc に追記する内容:

swdesc_files --extra-os --dest / abos/resources ★こちらはすでにあるはず
swdesc_command --extra-os "chown -R abos-web-admin:abos-web-admin /etc/atmark/abos_web/tokens" ★こちらを追記

どうぞよろしくお願いいたします。

太田様 ご返信ありがとうございます。

頂いた情報通りに、再インストールを実施して確認を行いました。
結果は、「Rest API トークン」にてAPIコールが期待通りの動作となりました。
ご指導いただきありがとうございました。