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本体のディレクトリにファイルが反映されていませんでした。
原因を教えて下さい。
コメント
shun
お世話になっております。質問なのですが、
[container/resources]に置いたファイルはあくまでコンテナ内で管理されて外部からはアクセスするにはご返信いただいたフォーラムの方法で行うしかなく、
/usr/bin... , /var/tmp... などルート直下にあるディレクトリへはABOS DEからはコピーする方法は、コンテナで管理するという前提ではないということでしょうか?
併せて、Armadillo本体側に/usr/bin... , /var/tmp... などルート直下にあるディレクトリにファイルをコピーする方法はありますか?
以上、ご回答の程よろしくお願いいたします。
at_satoshi.ohta
太田です。
今行いたいことは、あるファイルをコピーしたいということだと思いますが、どこからどこへのコピーをお考えでしょうか?
「コピー元 -> コピー先」という表現をした場合、
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側のディレクトリとコンテナ内のディレクトリをマウントする必要があります。
どの状況をお考えでしょうか?
どうぞよろしくお願いいたします。
shun
お世話になっております。現在想定しているのは、
> 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
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 にコピーするように記述する流れです。
どうぞよろしくお願いいたします。