Armadilloフォーラム

swu用の.descファイルの記述方法について

moli_m

2025年10月2日 16時09分

お世話になっております。

初歩的な質問で恐縮ですが
表題の件について数点質問事項があり以下に記載致しますのでご教示頂けますと幸いです。

現状.descファイル作成についての関連ドキュメントに目を通しているつもりではあるのですが、
当方の理解が及んでいない点もありご助力頂きたく。
※一旦現状理解で作成した.descの内容を添付しています。

参考:
https://armadillo.atmark-techno.com/blog/15349/11131
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

◇下記のような内容の.swuファイルを作成することは可能でしょうか?
・LTE設定を複製するもの
 目的:別のA6Eにネットワーク設定を複製したい
    SWU実行後は対象のSIMさえ挿入されていればネットワーク接続がされる
 対象と思われるもの:/etc/NetworkManager/system-connections/gsm-ttyCommModem.nmconnection

・connection-recoverの自動設定
 目的:別のA6Eにconnection-recoverの設定値を複製並びにサービスの有効化をしたい
 対象と思われるもの:/etc/atmark/connection-recover.conf

・その他自作コンテナアプリに必要なファイル類の配置
 目的:コンテナ配置並びに必要なファイル群を設定
 ※内容は割愛しますが下記を想定
  /var/app/rollback/volumes/ にファイルやフォルダを配置
  /etc/atmark/containers/ に.confファイルを配置

◇これらの.swuを纏める(例えば1つのswuで実行させたい)ことは可能でしょうか?
 その際に/etc/sw-versionsなどに表示される名称について下記のようにすることは可能でしょうか?
 ・個別に設定するケース(例えばlte_settings yyyy.mm.dd-revとconnection_recover yyyy.mm.dd-rev)
 ・一つにまとめるケース(例えばinital_settings yyyy.mm.dd-rev)

◇仮に複数纏めて実行された.swuがあった場合に後から別名のswuで個別範囲を更新することは可能でしょうか?
 例:先の3例を纏めていた場合にLTE設定だけを別の値に更新する別名の.swuを実行 など

◇これらの.swuについてA6EやA9Eで共通使用できるものなのでしょうか?
 例:A6EのAG6221とAG6271やそもそも別の筐体であるA9Eなど

 仮に共通使用可能な場合に何らかの方法で制限をかけることは可能でしょうか?
 例:この.swuはA6E(AG6221)用、この.swuはA9E用 など
 ※initial_setup.swuを分ければできそうなイメージはありますが管理が複雑化するので避けたい意図

以上
ご確認の程宜しくお願い致します。

ファイル ファイルの説明
descファイル案.txt 本件に関するdescファイルの現状案
コメント

at_dominique.m…

2025年10月2日 17時31分

moli_mさん

お世話になっています、
マルティネです。

> ・LTE設定を複製するもの
>  目的:別のA6Eにネットワーク設定を複製したい
>     SWU実行後は対象のSIMさえ挿入されていればネットワーク接続がされる
>  対象と思われるもの:/etc/NetworkManager/system-connections/gsm-ttyCommModem.nmconnection

このファイルであってます。
NetworkManager はファイルのモードをみて、0600 (-rw-------) でなければ無視しますので、desc ファイルで swdesc_files 前に chown を実行するか、ファイルをパソコンに転送する際にモードにご注意ください。

> ・connection-recoverの自動設定
>  目的:別のA6Eにconnection-recoverの設定値を複製並びにサービスの有効化をしたい
>  対象と思われるもの:/etc/atmark/connection-recover.conf

はい。

> ・その他自作コンテナアプリに必要なファイル類の配置
>  目的:コンテナ配置並びに必要なファイル群を設定
>  ※内容は割愛しますが下記を想定
>   /var/app/rollback/volumes/ にファイルやフォルダを配置
>   /etc/atmark/containers/ に.confファイルを配置

アプリケーションで利用しているファイルは存じませんが基本的にはそのとおりだと思います。

> ◇これらの.swuを纏める(例えば1つのswuで実行させたい)ことは可能でしょうか?

それらの内容を別の desc ファイルに保存して、mkswu コマンド実行時にいくつかの desc ファイルを指定すると一つの swu にまとめて保存されます。
例えば

$ mkswu -o update.swu lte.desc container.desc

>  その際に/etc/sw-versionsなどに表示される名称について下記のようにすることは可能でしょうか?

それぞれのバージョンのままになります。
desc ファイルに swdesc_option component=... で同じcomponent を利用すると同じに設定することも可能ですが、
設定しない場合は desc ファイルの名前それぞれになります

> ◇仮に複数纏めて実行された.swuがあった場合に後から別名のswuで個別範囲を更新することは可能でしょうか?
>  例:先の3例を纏めていた場合にLTE設定だけを別の値に更新する別名の.swuを実行 など

ファイル名は関係ないので質問の意味がわかりません。
あとで別の desc ファイルを追加したいということでしたら、swu を生成しなおしてすでにインストール済みの部分がスキップされてインストールされてない部分がインストールされます(sw-versionsによる普通の管理です。結合は関係ありません)

> ◇これらの.swuについてA6EやA9Eで共通使用できるものなのでしょうか?
>  例:A6EのAG6221とAG6271やそもそも別の筐体であるA9Eなど

A6E と A9E は違うアーキ(armv7, aarch64)で動いてますので、基本的にコンテナのイメージが異なると思います。
一応「このハードウェアでしかインストールしない」オプションもあります(--board、マニュアルにふれてません)が、転送する利用が増えますので基本的にはそれぞれのイメージで管理していただくようにお願いします。利用したい場合は自己責任になります。

よろしくお願いします。

マルティネ様

ご確認頂きありがとうございます。
内容について承知いたしました。

> > ◇仮に複数纏めて実行された.swuがあった場合に後から別名のswuで個別範囲を更新することは可能でしょうか?
> >  例:先の3例を纏めていた場合にLTE設定だけを別の値に更新する別名の.swuを実行 など
>
> ファイル名は関係ないので質問の意味がわかりません。
> あとで別の desc ファイルを追加したいということでしたら、swu を生成しなおしてすでにインストール済みの部分がスキップされてインストールされてない部分がインストールされます(sw-versionsによる普通の管理です。結合は関係ありません)

分かり辛い表現で申し訳ありません、此方については下記の想定でした。

1. AのSWU(仮に上記のネットワーク設定とconnection-recover設定を纏めて実行したもの:componentを仮にinit_setupとする)を実行
2. AのSWUを実行した筐体にBのSWU(例えばネットワーク設定のみを変更するもの:componentを仮にlte_setupとする)を実行

この時”BのSWUが実行可能なのか”がこの部分で質問したかった内容となります。
(例えばAのSWUやcomponentで更新されていたファイル群は別SWUやcomponentから更新できない など無いか心配していました)

以上
宜しくお願い致します。

at_dominique.m…

2025年10月3日 9時50分

マルティネです。

> 分かり辛い表現で申し訳ありません、此方については下記の想定でした。
>
> 1. AのSWU(仮に上記のネットワーク設定とconnection-recover設定を纏めて実行したもの:componentを仮にinit_setupとする)を実行
> 2. AのSWUを実行した筐体にBのSWU(例えばネットワーク設定のみを変更するもの:componentを仮にlte_setupとする)を実行
>
> この時”BのSWUが実行可能なのか”がこの部分で質問したかった内容となります。
> (例えばAのSWUやcomponentで更新されていたファイル群は別SWUやcomponentから更新できない など無いか心配していました)

BのSWUに新しいcomponent名を使うとインストールされます。
(この例では、ネットワーク設定ファイルがすでに存在しますが、ファイルが上書きされます)

デフォルトルール(install_if を利用しなければ)では、以下の内容がインストールされます:
* /etc/sw-versions に載ってない component
* /etc/sw-versions に載ってますが、SWUのバージョンよりが古い component
(dash (-) 等を利用する semantic version の場合の比較基準は分かりづらいので、必要でしたら「mkswu --version-cmp 1.0 1.1」で確認できます)

また、 SWU 内に複数の component がある場合は SWU の一部だけがインストールされることがありますので、
管理としては component の数が少ない方が分かりやすいですね。

よろしくお願いします

マルティネ様

早速ご確認頂きありがとうございます。
追加でご教示頂いた内容について承知いたしました。
一旦これまでの内容で対応方法を検討してみます。

また不明点等生じた際にはご質問させていただきますので、
その際はご対応頂けますと幸いです。

以上
宜しくお願い致します。