Armadilloフォーラム

Armadillo IoT-G4 の環境(カーネル、インストール済パッケージ、コンテナ)をそのまま他のArmadillo IoT-G4にコピーする方法

shu1.ikeno-secisl

2024年2月5日 13時22分

お世話になっております。
以下について、やり方をご教示頂きたく、よろしくお願いいたします。

[原状態]
- インターネット接続環境の開発用armadilloと開発用PCで、環境構築
(1) 開発用PCで、Device Treeをカスタマイズしたカーネルをビルド
(2) armadilloのカーネルを書き換え。
(3) apkで必要なパッケージをapkインストール
(4) プログラム実行用のコンテナ作成
(5) コンテナ上で必要なパッケージをaptインストール
(6) コンテナ上で動作させるpythonスクリプトを作成
(7) 作成したコンテナ保存と起動設定

[やりたい事]
- インターネットに直接接続できないイントラネット環境で動作している複数台のarmadilloがあります。
- そのイントラネット環境の複数台のarmadilloに、上記開発用armadillo(1)-(7)で構築した環境(カーネル、パッケージ、コンテナ)をそのままコピーしたい。

これまで(2)は(1)で作成したカーネルをイントラ環境にコピーして、swupdateでインストール。
(4)-(7)は保存したコンテナをイントラ環境にコピーして、インストールしていました。
今回、本体OS上にapkでインストールしたいパッケージがあり、このapkパッケージを保存してイントラ環境にコピーし、オフラインインストールを試みましたが、
不足パッケージが多数表示されてしまい、上記のように、開発用armadilloの環境を、そっくりそのままイントラ環境にコピーして、イントラ環境内の複数の
armadilloを更新するのが最適と判断し、上記質問をさせて頂きました。

お手数おかけしますが、ご教示頂きたく、よろしくお願いいたします。

コメント

at_dominique.m…

2024年2月5日 13時48分

shu1.ikeno-secislさん

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

> 今回、本体OS上にapkでインストールしたいパッケージがあり、このapkパッケージを保存してイントラ環境にコピーし、オフラインインストールを試みましたが、
> 不足パッケージが多数表示されてしまい、上記のように、開発用armadilloの環境を、そっくりそのままイントラ環境にコピーして、イントラ環境内の複数の
> armadilloを更新するのが最適と判断し、上記質問をさせて頂きました。

開発用 armadillo をそのままコピーする機能は現在のところ「abos-ctrl make-installer」による SD カードのインストールディスク経由の複製ツールしかありません。
SD カードでのアップデートにはケースを開けて jumper を設定する必要がありますので、不便なやり方になりますが、ホストOSとコンテナの両方をそのままコピーすることはできます。
「abos-ctrl make-installer」の流れは https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro… に説明されてますのでよろしければご参照ください。

swupdate でのインストールが好ましいであれば、開発用 armadillo をコピーすることはできませんが、Armadillo Base OS の「ルートファイルシステムビルドツール」( https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4… ) で common/packages ファイルを編集すればパッケージを追加することはできます。
(カーネルをそのなかにインストールすることも https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro… で説明されています)

コンテナの方も、コンテナで apt / python スクリプト実行後に「podman image save」で保存すれば swu ファイルに組み込めることはできますので、そちらは SD カードではなくても複製可能です。

このどちらの方法でいかがでしょうか?

よろしくお願いします。

shu1.ikeno-secisl

2024年2月5日 14時00分

マルティネさん

迅速なリプライありがとうございました。
ご教示いただきました後者の方法(common/packages ファイルを編集してパッケージ追加)で試してみようと思います。
ありがとうございました。

> shu1.ikeno-secislさん
>
> お世話になっています、
> マルティネです。
>
> > 今回、本体OS上にapkでインストールしたいパッケージがあり、このapkパッケージを保存してイントラ環境にコピーし、オフラインインストールを試みましたが、
> > 不足パッケージが多数表示されてしまい、上記のように、開発用armadilloの環境を、そっくりそのままイントラ環境にコピーして、イントラ環境内の複数の
> > armadilloを更新するのが最適と判断し、上記質問をさせて頂きました。
>
> 開発用 armadillo をそのままコピーする機能は現在のところ「abos-ctrl make-installer」による SD カードのインストールディスク経由の複製ツールしかありません。
> SD カードでのアップデートにはケースを開けて jumper を設定する必要がありますので、不便なやり方になりますが、ホストOSとコンテナの両方をそのままコピーすることはできます。
> 「abos-ctrl make-installer」の流れは https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro… に説明されてますのでよろしければご参照ください。
>
>
> swupdate でのインストールが好ましいであれば、開発用 armadillo をコピーすることはできませんが、Armadillo Base OS の「ルートファイルシステムビルドツール」( https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4… ) で common/packages ファイルを編集すればパッケージを追加することはできます。
> (カーネルをそのなかにインストールすることも https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro… で説明されています)
>
> コンテナの方も、コンテナで apt / python スクリプト実行後に「podman image save」で保存すれば swu ファイルに組み込めることはできますので、そちらは SD カードではなくても複製可能です。
>
>
> このどちらの方法でいかがでしょうか?
>
> よろしくお願いします。