ブログ

Armadillo-IoT(G3/G3L)/X1/640:USBメモリ認識時に自動マウントする方法

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メモリ認識時に自動マウントされるようになっています。