Armadilloフォーラム

USB等を挿入した際の自動マウント設定について

shiroro

2025年8月27日 17時04分

==========
製品型番:AGX4520-C02D0
Debian/ABOSバージョン:5.10.237-1
カーネルバージョン:5.10.0-35-amd64
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

お世話になっております。

USBやSDカードを挿入したときに自動マウントできるようにしたく、
https://armadillo.atmark-techno.com/howto/autofsの「ABOS 上でコマンド実行する場合の流れ」を参考にTeraTermから各コマンドを入力したのですが、最後の動作確認の部分で、

armadillo:~# podman_start -a
Starting 'autofs'
09e9ed75ba2166561efd57c4594eb8f48ae27185f7190d34022a63f80aab4215
Starting 'signageplayer'
d9d77f77f954931ae0cc0ace3b45885eea2936bc6d8f0d621090b1d5d976ea08
armadillo:~# podman exec -ti signageplayer sh
# ls /mnt/automount
ls: cannot access '/mnt/automount': No such file or directory

となり、automountディレクトリが作成されません。

何が原因でautomountディレクトリが作成されないのかがわかりません。
アドバイスいただければ幸いです。

コメント

at_shota.shimoyama

2025年8月27日 17時59分

アットマークテクノの下山です。

まずautofsコンテナが正常に動作しているのかを確認します。
以下のコマンドの結果を添付いただけますでしょうか?

armadillo:~# podman ps
(autofsコンテナが動作しているかどうかがわかります)
armadillo:~# podman logs autofs
(autofsのログが見られます)

また、もしautofsコンテナが正常に動いている場合には、アプリケーションコンテナに関わらず、コンテナ外でもautomountを確認できます↓
/run/mntにautomountが見られるかもご確認ください

armadillo:~# ls /run/mnt
automount

コマンドを入力した結果は以下のようになりました。

armadillo:~# podman ps
CONTAINER ID  IMAGE                           COMMAND          CREATED       STATUS       PORTS                     NAMES
a76f644230e4  localhost/autofs:latest         automount -f -v  55 years ago  Up 55 years                            autofs
4da0729d60d9  localhost/signageplayer:latest  flutter_launch   55 years ago  Up 1 second  0.0.0.0:41077->41077/tcp  signageplayer
 
armadillo:~# podman logs autofs
open_fopen_r:211: failed to open file: No such file or directory
Starting automounter version 5.1.9, master map auto.master
using kernel protocol version 5.05
reading files master auto.master
mounted indirect on /mnt/automount with timeout 1, freq 1 seconds
ghosting enabled
 
armadillo:~# ls /run/mnt
automount

ご確認のほどよろしくお願いいたします。

at_shota.shimoyama

2025年8月28日 10時27分

ABOSからautomountが見えているので、autofsコンテナには問題はなく、アプリケーションコンテナ(signageplayer)側に問題がありそうです。

signageplayerのconfファイルに以下の行は追加されているでしょうか?

armadillo:~# cat /etc/atmark/containers/signageplayer.conf
add_volumes /run/mnt:/mnt:shared,ro

よろしくお願いします

armadillo:~# cat /etc/atmark/containers/signageplayer.confを入力すると、以下のようになり、add_volumes /run/mnt:/mnt:shared,roが入力できていませんでした。
add_volumes /run/mnt:/mnt:shared,roはどこに追加しても問題ないでしょうか?

armadillo:~# cat /etc/atmark/containers/signageplayer.conf
set_image localhost/signageplayer:latest
 
# for VPU and NPU
add_volumes /opt/firmware:/opt/firmware:ro
add_devices /dev/dri /dev/galcore
 
# for video decoding
add_devices /dev/mxc_hantro /dev/mxc_hantro_vc8000e /dev/ion
 
# for video
add_hotplugs video4linux
 
# for audio
add_devices /dev/snd
 
# for weston
add_volumes /run/udev:/run/udev:ro
add_hotplugs input
add_devices /dev/tty7
add_args --cap-add=SYS_TTY_CONFIG
 
# for flutter debugging
add_ports 41077:41077
add_args --env FLUTTER_ENGINE_SWITCHES=2
add_args --env FLUTTER_ENGINE_SWITCH_1=observatory-port=41077
add_args --env FLUTTER_ENGINE_SWITCH_2=observatory-host=0.0.0.0
 
# set timezone
add_args -e TZ=Asia/Tokyo
 
# mount app sources and data:
# - /var/app/rollback/volumes can be rolled back on failed
# upgrades, suitable for application sources and assets.
# - /var/app/volumes is not copied on updates and more suitable
# for volatile data such as logs and databases.
add_volumes /var/app/rollback/volumes/signageplayer:/vol_app
add_volumes /var/app/volumes/signageplayer:/vol_data
 
# Add environment variables set by Atmark Techno.
add_armadillo_env
 
# flutter can fail with success exit code
set_restart always
 
# for Bluetooth
#bluetooth set_network host
#bluetooth add_args --cap-add=NET_ADMIN
#bluetooth add_args --tmpfs /run/dbus
 
# launch flutter app and weston at container startup
set_command flutter_launch

at_shota.shimoyama

2025年8月28日 11時14分

> armadillo:~# cat /etc/atmark/containers/signageplayer.confを入力すると、以下のようになり、add_volumes /run/mnt:/mnt:shared,roが入力できていませんでした。
> add_volumes /run/mnt:/mnt:shared,roはどこに追加しても問題ないでしょうか?

はい、どこに追加しても問題ありません

ただ、.swuをインストールする際に、/etc/atmark/containers/signageplayer.confがABOSDEのプロジェクトのapp.confで上書きされます。
ですので、ABOSDEのプロジェクトのapp.confにadd_volumes /run/mnt:/mnt:shared,roを追加し、再作成したdevelopment.swuをArmadilloにインストールすると良いです。

よろしくお願いします

> ただ、.swuをインストールする際に、/etc/atmark/containers/signageplayer.confがABOSDEのプロジェクトのapp.confで上書きされます。
> ですので、ABOSDEのプロジェクトのapp.confにadd_volumes /run/mnt:/mnt:shared,roを追加し、再作成したdevelopment.swuをArmadilloにインストールすると良いです。

ご指示いただいた通り、/etc/atmark/containers/signageplayer.confにadd_volumes /run/mnt:/mnt:shared,roを追加し、ABOSDEのプロジェクトのapp.confにもadd_volumes /run/mnt:/mnt:shared,roを追加して、再作成したdevelopment.swuをArmadilloにインストールして、改めてコンテナのコンフィグファイルの永続化を行ってから動作確認をしましたが、以下のような結果となり、依然としてautomountディレクトリが作成されませんでした。

armadillo:~# podman_start -a
Starting 'autofs'
cecec0dd15605b3a1e04218d89a158833393b7fa7631b2449026dffdc2a28f56
/usr/bin/podman_start: /etc/atmark/containers/signageplayer.conf: line 53: app_volumes: not found
Starting 'signageplayer'
e9aa7e7d451d0b9dd98b223006751d41e2867535efca5b568a65eacb924b4853
armadillo:~# podman exec -ti signageplayer sh
# ls /mnt/automount/
ls: cannot access '/mnt/automount/': No such file or directory

最初にpodman_start -aを入力したときと比較すると、
/usr/bin/podman_start: /etc/atmark/containers/signageplayer.conf: line 53: app_volumes: not foundの1行が新たに表示されていました。

at_shota.shimoyama

2025年8月28日 13時49分

> /usr/bin/podman_start: /etc/atmark/containers/signageplayer.conf: line 53: app_volumes: not foundの1行が新たに表示されていました。

このエラー文どおりであれば、add_volumesとするべきところをapp_volumesと間違えて入力してしまっているのではないでしょうか?

ABOSDEのapp.confか、
armadillo:~# cat /etc/atmark/containers/signageplayer.confでご確認ください

> このエラー文どおりであれば、add_volumesとするべきところをapp_volumesと間違えて入力してしまっているのではないでしょうか?
>
> ABOSDEのapp.confか、
> armadillo:~# cat /etc/atmark/containers/signageplayer.confでご確認ください

失礼いたしました。
ケアレスミスでした。

appをaddに直したらautomountディレクトリが作成されて、USBが自動でマウントされました。
ありがとうございました。