この記事は、開発用のArmadillo-IoTゲートウェイG3/G3Lを1台以上お持ちであることが前提です。
はじめに
Armadillo-IoTゲートウェイG3/G3Lで開発した製品を量産する際に、
各個体のLTE接続設定をいかに効率よく行うかが課題となるかと思います。
それぞれ異なるSIMを使用する可能性がある場合は、1台1台設定を行う方が確実ですが、
全ての個体で設定情報が同一のSIMを使用する場合は、イメージファイルに設定情報を反映させて、
一括で書き込むことが出来れば、設定作業が不要になります。
この記事では、開発用の実機でLTEの接続設定を行い、
その設定情報をコピーしてイメージファイルに反映する方法をご案内します。
LTE接続設定の保存先
製品マニュアルに従ってNetworkManagerでLTE接続の設定を行うと、
以下に設定ファイルが保存されます。
/etc/NetworkManager/system-connections/
この時、気を付けなければならない事があります。
以下のように、設定ファイルにはUUIDが含まれています。
[armadillo ~]#vi /etc/NetworkManager/system-connections/gsm-ttyCommModem
[connection]
id=gsm-ttyCommModem
(中略)
UUID=xxxxxxxxxxxx
(後略)
このUUIDを含んだ状態で設定をコピーしても正常に動作しないので、
予め「UUID=」の行は削除しておいてください。
設定のコピー
この設定ファイルをコピーしてイメージファイルに反映させます。
イメージファイルに反映させるための方法としては、
dump_rootfsによってルートファイルシステムを丸ごとコピーする方法と、
x1-debian-builderを使って、コピーしたファイルを反映したルートファイルシステムをビルドする方法とがあります。
x1-debian-builderを使用する場合は、以下の2点に注意してください。
・アクセス権限を変更しておくこと
・ファイルコピー→NetworkManagerのインストールの順だと操作を誤るとファイルが上書きされてしまうので、
fixupを編集して、パッケージのインストール実行後にファイルがコピーされるようにしておくこと
上記を踏まえて、以下のような手順でファイルのコピーとx1-debian-builderの設定を行います。
①ファイルをx1-debian-builderの「resources」フォルダにコピー
Armadillo-IoTゲートウェイG3の場合
x1-debian-builder-v2.2.0/aiotg3_resources/resources/gsm-ttyCommModem
②コピーしたファイルの権限を変更する
[ATDE ~]$ chmod 600 x1-debian-builder-v2.2.0/aiotg3_resources/resources/gsm-ttyCommModem
③resources/fixupを編集し、末尾に以下を追記する
cp /resources/gsm-ttyCommModem /etc/NetworkManager/system-connections/
後はマニュアルの手順通りにビルドを実行すると、LTE接続設定を反映したイメージファイルが作成されます。
イメージファイルの書き込み方法については、マニュアルをご参考ください。