manamana
2025年7月25日 17時00分
==========
製品型番:
Debian/ABOSバージョン:Debian 5.10.237-1 / ABOS 5.10.236-2:at #3-Alpine
カーネルバージョン:5.10.237-1
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
pythonでSDカードに対して定期的にデータを保存したいのですが
1. 自動マウント
G3Lの場合には/etc/fstabにマウント情報を記述していましたがA9Eでコンテナベースの場合、どのようにすればよろしいでしょうか
2. マウントしたSDカードに対して、コンテナ内のソフトから書き込み、読み出しは可能でしょうか
よろしくお願いいたします。
コンテナ
コメント
manamana
> アットマークテクノの下山です。
>
> どちらも可能です
> 以下のブログを参考に行ってみてください
> https://armadillo.atmark-techno.com/howto/autofs
>
> よろしくお願いします
下山様
回答ありがとうございます
ブログには2パターンあり、どちらも試してみたのですが、途中で躓いてます
「ABOS上でコマンド実行する」場合ではabos-ctrlコマンドがありませんでした。
「ABOSDEからAtmark Container Projectを使う」場合ですがメニューから[Atmark Container New Project]を選択して、
container_setup/alpine/Dockerfileの末尾に以下を追記するではフォルダのcontainer_setupが存在しませんでした。
開発用ホストPCがスタンドアロン環境であることの弊害でしょうか
よろしくお願いいたします。
at_shota.shimoyama
> 「ABOS上でコマンド実行する」場合ではabos-ctrlコマンドがありませんでした。
abos-ctrlコマンドが無いのは変ですね…
以下のコマンドでABOSのバージョンを確認していただいてもいいでしょうか?
armadillo:~# cat /etc/atmark-release
> 「ABOSDEからAtmark Container Projectを使う」場合ですがメニューから[Atmark Container New Project]を選択して、
> container_setup/alpine/Dockerfileの末尾に以下を追記するではフォルダのcontainer_setupが存在しませんでした。
[Atmark Container New Project]を選択すると↓のリンクでインターネット上からファイルを取得するので、スタンドアロン環境であることが影響している可能性はあります
https://download.atmark-techno.com/armadillo-iot-g4/example/atmark-cont…
ファイルを添付しましたので、ATDE側でtar -zxvf atmark-container-latest.tar.gz
で解凍した上で展開したフォルダをVSCodeから開くとcontainer_setupのディレクトリが見えるはずかと思います
よろしくお願いします
ファイル | ファイルの説明 |
---|---|
atmark-container-latest.tar.gz |
manamana
at_shota.shimoyama
manamana
at_shota.shimoyama
何かの間違いでabos-ctrlを削除してしまったか、abos-ctrlコマンドがあるabos-baseパッケージを消してしまったのかもしれませんね
以下のコマンドで文字列にabosを含むインストール済みapkパッケージ一覧が出力されます(正常な場合の出力も載せています)
こちらの結果を添付いただけますでしょうか?
armadillo:~# apk info | grep abos abos-base abos-base-catatonit abos-web abos-web-openrc
もしその中にabos-baseが無ければ、以下のコマンドでインストールを試みてください
armadillo:~# apk update armadillo:~# persist_file -a add abos-base
ちなみに、スタンドアロン環境はおそらく関係ないのではないかと思います
よろしくお願いします
manamana
manamana
at_shota.shimoyama
> ブログでの例ではどちらもalpineを使用しておりますが、SDカードでのautofs機能を使う場合、
> debianではなくalpine必須なのでしょうか
いいえ、必須ではありません
まず、アプリケーションコンテナの方についてはdebianでもalpineでもディストリビューションに制限はありません
そして、autofsコンテナの方についても試してはいませんがdebianでもautofsは使用できるはずです
ただ、alpineの方がコンテナイメージのサイズがかなり小さく(bullseye-slimが 80 MBなのに対してalpineが9 MB)、
わざわざdebianにする必要性がないためalpineを使用した例を載せています
アプリケーションコンテナ側からしても、autofsコンテナとのやり取りはディレクトリ上でのファイルの受け渡ししかないため、
autofsコンテナがdebianでもalpineでも何か差があるということはありません
別のフォーラムで最初は1つのコンテナ上で開発した方がいいということを述べた手前申し上げにくいのですが、
このautofsについては、大きなセキュリティリスクを避けるためにブログどおりautofsコンテナとして機能を分離しておくことを推奨いたします
よろしくお願いします
manamana
ご説明ありがとうございます。
「ABOSDEからAtmark Container Projectを使う」場合ですが確認すると、そもそもプロジェクトフォルダが
存在していませんでした。
再度、メニューから[Atmark Container New Project]を選択して
プロジェクトの作成でプロジェクト名を入力してenter実行すると以下のエラーが表示されます。
download error:FetchError: requests to https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… failed,reason:getaddrinfo
ENOTFOUND download.atmark-techno.com
なぜサンプルをダウンロードするのでしょうか(デフォルトの動作でしょうか?)
例えば、フォルダを自力で作成し、その下に以前ダウンロードしたpython-projectをコピーするとかで可能でしょうか?
よろしくお願いいたします。
manamana
>
> ご説明ありがとうございます。
>
> 「ABOSDEからAtmark Container Projectを使う」場合ですが確認すると、そもそもプロジェクトフォルダが
> 存在していませんでした。
> 再度、メニューから[Atmark Container New Project]を選択して
> プロジェクトの作成でプロジェクト名を入力してenter実行すると以下のエラーが表示されます。
>
> download error:FetchError: requests to https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… failed,reason:getaddrinfo
> ENOTFOUND download.atmark-techno.com
>
> なぜサンプルをダウンロードするのでしょうか(デフォルトの動作でしょうか?)
> 例えば、フォルダを自力で作成し、その下に以前ダウンロードしたpython-projectをコピーするとかで可能でしょうか?
>
> よろしくお願いいたします。
>
関係あるかわかりませんが、以前作成した動作確認済のpython-project(LED点灯のサンプル)を実行したところ以下のエラーとなってしまいました。
ssh:connect to host 192.168.223.100 port 22:No route to host
192.168.223.100はBASEOSのアドレスになります。
manamana
>
> 関係あるかわかりませんが、以前作成した動作確認済のpython-project(LED点灯のサンプル)を実行したところ以下のエラーとなってしまいました。
> ssh:connect to host 192.168.223.100 port 22:No route to host
> 192.168.223.100はBASEOSのアドレスになります。
>
連投失礼します。
さらに確認しましたところ、以下の状況となっています
1. 開発PCからBASEOSにはtelnet 接続できました。
2. ATDEからVS-codeでMONITORのSCANしましたがBASEOSは見つかりませんでした。
3. ATDEから192.168.223.100に対してpingアンサーありませんでした。
以上です
at_shota.shimoyama
> 「ABOSDEからAtmark Container Projectを使う」場合ですが確認すると、そもそもプロジェクトフォルダが
> 存在していませんでした。
> 再度、メニューから[Atmark Container New Project]を選択して
> プロジェクトの作成でプロジェクト名を入力してenter実行すると以下のエラーが表示されます。
> download error:FetchError: requests to https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… failed,reason:getaddrinfo
> ENOTFOUND download.atmark-techno.com
これもPythonのプロジェクト同様、プロジェクトを作成する際に https://download.atmark-techno.com/armadillo-iot-g4/example/atmark-cont… というテンプレートを自動的にダウンロード&展開するようになっています(ABOSDE自体の中にはプロジェクトを作る元となるこのテンプレートが存在しません)
インターネットに接続していない状況ではダウンロードができないので、手動でテンプレートを配置する必要があります
2025年7月28日 16時21分に投稿したコメントにそのテンプレート(atmark-container-latest.tar.gz)を添付しておりますので、ATDE側でtar -zxvf atmark-container-latest.tar.gz
で解凍した上で展開したフォルダをVSCodeから開いてください。
また、ATDE側からArmadilloと疎通できないということですが、ArmadilloとATDEにはそれぞれ固定IPアドレス(Armadilloは192.168.223.100)を割り当てており、Armadilloと開発PCはLANケーブルで直接接続しているという状況でお間違いないでしょうか?
manamana
>
> また、ATDE側からArmadilloと疎通できないということですが、ArmadilloとATDEにはそれぞれ固定IPアドレス(Armadilloは192.168.223.100)を割り当てて
>おり、Armadilloと開発PCはLANケーブルで直接接続しているという状況でお間違いないでしょうか?
LANケーブルで直接接続していまして固定IPアドレスを割り当てています。(ATDEは192.168.223.10)
回答ありがとうございます、ブログの続きですが
2-5.autofsコンテナの設定ファイルをABOS上に配置する設定で、container_setup/config/alpine.descファイルが存在してなく
一個上のディレクトリにありましたのでこれを編集しました。
2-6 autofsコンテナを配置するSWUイメージの作成ですが、「COMMAND PROJECT COMMAND」に
[Generate alpine container setup swu]メニューが存在していません。
Scanning Armadillo on the networkでABOSが見つからないのが原因でしょうか?
以前、作成したプロジェクト(ArmadilloにSWUイメージを配置できてます)でも同様にABOSが見つかりませんでした。
よろしくお願いいたします。
at_shota.shimoyama
> LANケーブルで直接接続していまして固定IPアドレスを割り当てています。(ATDEは192.168.223.10)
「Scanning Armadillo on the network」はプロジェクトとは別の機能なので、どのプロジェクトであっても、ArmadilloにSWUイメージをインストールしたかどうかはArmadilloが表示されないことと関係はありません
ですので、プロジェクトというよりかはPC・ATDE・Armadilloのネットワークの問題になります
以前はPythonのプロジェクトでApp run on Armadilloがうまくできていたかと思いますが、いつからかMONITORのSCANにArmadilloが現れなくなったということでお間違いないでしょうか?
MONITORのSCANでArmadilloが表示されていたときと、開発PC・ATDE・Armadilloのネットワーク設定などを変えたりしていないでしょうか?
> 2-5.autofsコンテナの設定ファイルをABOS上に配置する設定で、container_setup/config/alpine.descファイルが存在してなく
> 一個上のディレクトリにありましたのでこれを編集しました。
> 2-6 autofsコンテナを配置するSWUイメージの作成ですが、「COMMAND PROJECT COMMAND」に
> [Generate alpine container setup swu]メニューが存在していません。
> Scanning Armadillo on the networkでABOSが見つからないのが原因でしょうか?
> 以前、作成したプロジェクト(ArmadilloにSWUイメージを配置できてます)でも同様にABOSが見つかりませんでした。
すみません、もっと早めに言うべきだったのですが、「ABOSDE から Atmark Container Project を使う場合の手順」よりも「ABOS 上でコマンド実行する場合の手順」の方を推奨いたします。
「ABOSDE から Atmark Container Project を使う場合の手順」の方ではRUN apk add --no-cache autofs
のステップをDockerfileに追加していますが、このステップではインターネット上からautofsをダウンロードしていますので、スタンドアロン環境ではこのステップをDockerfileに追加することはできません。
ですので結局swuを生成してArmadilloにインストールしたとしても、pythonのときと同様、Armadilloの操作でコンテナ内に入ってautofsをインストール⇒コンテナイメージにするという手間が必要ですので、それであれば初めから「ABOS 上でコマンド実行する場合の手順」を実施した方が簡単だと思います。
その上でですが、
・container_setup/config/alpine.desc
が存在していない
⇒ すみません、これは誤植です。おっしゃるとおりcontainer_setup/alpine.desc
が正しいです
・「COMMAND PROJECT COMMAND」に[Generate alpine container setup swu]メニューが存在していません。
⇒ 「COMMON PROJECT COMMAND」ではなく、その下の「OPEND PROJECT」の「atmark-container」のところに無いでしょうか?
manamana
>
> すみません、もっと早めに言うべきだったのですが、「ABOSDE から Atmark Container Project を使う場合の手順」よりも「ABOS 上でコマンド実行する場合の手順」の方を推奨いたします。
> 「ABOSDE から Atmark Container Project を使う場合の手順」の方ではRUN apk add --no-cache autofs
のステップをDockerfileに追加していますが、このステップではインターネット上からautofsをダウンロードしていますので、スタンドアロン環境ではこのステップをDockerfileに追加することはできません。
> ですので結局swuを生成してArmadilloにインストールしたとしても、pythonのときと同様、Armadilloの操作でコンテナ内に入ってautofsをインストール⇒コンテナイメージにするという手間が必要ですので、それであれば初めから「ABOS 上でコマンド実行する場合の手順」を実施した方が簡単だと思います。
>
> その上でですが、
> ・container_setup/config/alpine.desc
が存在していない
> ⇒ すみません、これは誤植です。おっしゃるとおりcontainer_setup/alpine.desc
が正しいです
>
> ・「COMMAND PROJECT COMMAND」に[Generate alpine container setup swu]メニューが存在していません。
> ⇒ 「COMMON PROJECT COMMAND」ではなく、その下の「OPEND PROJECT」の「atmark-container」のところに無いでしょうか?
>
ABOS 上でコマンド実行する場合の手順でもやろうとしてたのですが、アプリケーションコンテナを作成する必要があり中断しておりました。
manamana
manamana
at_shota.shimoyama
> 1個のプロジェクトにautofsコンテナとアプリケーションコンテナを収納することは可能でしょうか?
すみません、残念ながらそれは不可能です(ABOSDEが複数のコンテナイメージを扱うようにはなっていないので…)
ただ、1つのコンテナにアプリケーションとautofsを一緒にしてしまう(アプリケーションコンテナ内にautofsをインストール&autofsの設定ファイルを置く)という意味なのであれば可能です
しかし、(ブログにも記載しておりますが)この場合は USB メモリや SD カードにアクセスするために、メインのアプリケーションを実行するコンテナに SYS_ADMIN 権限を与えることになってしまうため、セキュリティリスクを伴うことは注意してください
> 「OPEN PROJECT」にも ありませんでした
VS Codeからディレクトリを選択する際、「atmark-container」を選択しているでしょうか?
その下の「container_setup」を選択してしまうと、ABOSDEがプロジェクトとして認識できません
正しく「atmark-container」を選択してディレクトリを開けている場合、添付画像のようにEXPLORERのところで「ATMARK-CONTAINER」がトップで表示されるはずですので、そうなっているかご確認ください
> また、ATDEのネットワーク設定はブリッジになっておりました。
すみません、原因がぱっと思いつかないので、まずはpingの疎通から確認いただけますでしょうか?
以下のコマンドでホストOS(おそらくWindowsでしょうか?)からArmadilloに対してpingを行った場合と、ATDEからArmadilloに対してpingを行った場合の2通り試してみて、pingが通るかどうかを確認してみてください
ping 192.168.223.100
ファイル | ファイルの説明 |
---|---|
explorer.png |
manamana
at_shota.shimoyama
> ・ホスト(Windows)からは疎通を確認できましたが、ATDEからは疎通しませんでした。
・WindowsからATDE、ATDEからWindowsのpingの疎通はどうでしょうか?
(Windows側も固定IPアドレスを振っているかと思いますが、差し支えなければその値を教えていただけますでしょうか?)
・VirtualBoxのATDE9の設定で、有効にしているネットワークはアダプター1のみでしょうか?
・アダプター1の割り当ては「ブリッジアダプター」になっているかと思いますが、その下の「名前」に現れる一覧と、実際に設定している「名前」を教えてください
よろしくお願いします
manamana
manamana
manamana
at_shota.shimoyama
at_shota.shimoyama
2025年7月25日 18時41分
アットマークテクノの下山です。
どちらも可能です
以下のブログを参考に行ってみてください
https://armadillo.atmark-techno.com/howto/autofs
よろしくお願いします