at_kazutaka.bito
2019年12月4日 14時47分
Armadillo-IoT(G3/G3L)/X1/640で、USBメモリ認識時に自動マウントする方法です。
udevルールを定義することで自動マウントできます。
1.udevルールの追加
/etc/udev/rules.dディレクトリに、USBメモリ認識時のルールを記述したファイルを追加します。
ここでは、99-my-mount.rulesというファイル名で作成します。
/etc/udev/rules.d/99-my-mount.rules
ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]*", RUN+="/root/test.sh %k"
2.USBメモリ認識時に実行するスクリプトの作成
USBメモリ認識時に実行するスクリプトを作成します。
ここでは、/rootディレクトリに、test.shというファイル名で作成します。
/root/test.sh
#!/bin/sh
DEVICE=$1
mount -t vfat /dev/$1 /mnt
補足)
上記のスクリプトでは、USBメモリはFAT32でフォーマットされているものを想定して、
mountコマンドのファイルタイプのオプションは、vfatとしています。
test.shに実行権限を付けます。
chmod +x /root/test.sh
3.マウントしたUSBメモリの中身コンソールから見えるようにする(※)
※)この手順は、Debian GNU/Linux9(コードネーム「stretch」)が動作している下記のArmadilloのみ必要になります。
Armadillo-640
Armadillo-IoT(G3):Linux 4.9使用時
Armadillo-IoT(G3L):Linux 4.9使用時
Armadillo-X1:Linux 4.9使用時
/etc/systemd/systemディレクトリに、下記の内容でsystemd-udevd.serviceファイルを新規作成します。
/etc/systemd/system/systemd-udevd.service
.include /lib/systemd/system/systemd-udevd.service
[Service]
MountFlags=shared
以上の手順を実施後、設定を反映させるため再起動します。
以降、USBメモリ認識時に自動マウントされるようになっています。