Armadilloフォーラム

[ABOS] コンテナイメージがArmadillo本体にコピーされない

shun

2025年4月17日 12時00分

==========
製品型番:Armadillo-610
Debian/ABOSバージョン:3.19.2-at.5
カーネルバージョン:Linux armadillo 5.10.220 #1 Mon Nov 11 18:22:24 JST 2024 armv7l Linux
その他:U-Boot 2020.04-at24 (Jun 25 2024 - 05:19:56 +0000)
==========
お世話になっております。
[Shell New Project]でプロジェクトを作成し、コンテナへコピーするファイルを[container/resources]に入れて.swuファイルをインストールしたのですが、
Armadillo本体のディレクトリにファイルが反映されていませんでした。
原因を教えて下さい。

コメント

at_satoshi.ohta

2025年4月17日 13時04分

太田です。

> [Shell New Project]でプロジェクトを作成し、コンテナへコピーするファイルを[container/resources]に入れて.swuファイルをインストールしたのですが、
Armadillo本体のディレクトリにファイルが反映されていませんでした。

Armadillo本体のディレクトリというのは、コンテナの中ではなく、ホスト側の Armadillo Base OS(ABOS)のディレクトリということでよろしいでしょうか?

[container/resources] においたファイルはコンテナの中に配置されます。

ABOS側に配置したい場合は、例えば以下のフォーラムの方法が参考になると思います。

https://armadillo.atmark-techno.com/forum/armadillo/24992

作成したプロジェクトディレクトリ直下に abos/resources ディレクトリを作成、その中にABOS上にコピーするファイルを配置、app.desc ファイルに abos/resources ディレクトリのファイルを Aramdillo にコピーするように記述する流れです。

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

お世話になっております。質問なのですが、
[container/resources]に置いたファイルはあくまでコンテナ内で管理されて外部からはアクセスするにはご返信いただいたフォーラムの方法で行うしかなく、
/usr/bin... , /var/tmp... などルート直下にあるディレクトリへはABOS DEからはコピーする方法は、コンテナで管理するという前提ではないということでしょうか?

併せて、Armadillo本体側に/usr/bin... , /var/tmp... などルート直下にあるディレクトリにファイルをコピーする方法はありますか?
以上、ご回答の程よろしくお願いいたします。

at_satoshi.ohta

2025年4月21日 15時10分

太田です。

今行いたいことは、あるファイルをコピーしたいということだと思いますが、どこからどこへのコピーをお考えでしょうか?
「コピー元 -> コピー先」という表現をした場合、

1. ATDE -> ABOS(Armadilloのホスト)
この場合、上記で提示したフォーラムを参考に、[abos/resources] にファイルを配置して [config/app.desc] を編集して、SWUイメージを作成、インストールする方法でコピーできます。
おそらくこちらについての質問かと想像していました。

2. ATDE -> ABOS 上のコンテナ
この場合は [container/resources] にファイルを置き、SWUイメージを作成、インストールすることでコピーできます。

3. ABOS 上のコンテナ -> ABOS
この場合はアプリケーションがABOS上のコンテナの中で起動しており、コンテナ内のファイルをホスト側(ABOS)のディレクトリにコピーするという状況がよくあるパターンかと思いますが、 その場合は、[config/app.conf] に

add_volumes [ABOS側のディレクトリ]:[コンテナ内のディレクトリ]

と記述して、ABOS側のディレクトリとコンテナ内のディレクトリをマウントする必要があります。

どの状況をお考えでしょうか?

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

お世話になっております。現在想定しているのは、

> 1. ATDE -> ABOS(Armadilloのホスト)

でした。
[abos/resources]ディレクトリにファイルを配置したら希望していたコピーができました。

1点別件で質問があります。
[abos/resources]ディレクトリに置いたファイル(abos/resources/usr/bin/InitProgram ←個人で作成した初期起動用の実行ファイル)をメイン関数で実行するようにして.swuを書き込んだのですが、実行できませんでした。

Armadillo本体にアクセスしてファイルの実態を確認すると、

armadillo:/usr/bin# ./InitProgram 
-ash: ./InitProgram : not found
armadillo:/usr/bin# file ./InitProgram
-ash: file: not found
armadillo:/usr/bin# ls -l ./InitProgram
-rwxr-xr-x    1 root     root        307736 Apr 21 17:08 ./InitProgram
armadillo:/usr/bin# ls /lib/ /usr/lib/ | grep libstdc++
libstdc++.so.6
libstdc++.so.6.0.32

ファイルの実態はあるのに[not found]と出てしまいます。
原因がわかりましたらご回答の程、よろしくお願いいたします。

ファイル ファイルの説明
コメント 2025-04-22 115821.png

at_satoshi.ohta

2025年4月22日 13時03分

太田です。

このフォーラムの当初の問題は解決できたとのことで何よりです。
お手数ですが、違う問題についてのご質問は今一度新しいフォーラムを立てていただければ幸いです。
問題ごとにフォーラムを分けることで、同じような問題が発生している他のユーザーが検索しやすくなり、かつ可読性が上がるためです。

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