最近想在U盘中放置一个配置文件,当U盘插入时自动读取配置文件。发现插上U盘后,在/dev下产生sda1adb1sdc1等不定设备,需要手动挂载才行。根据网上了解,可以通过udev来实现U盘的自动识别和挂载,操作方法如下:

 

1. /etc/udev/rules目录下新建11-add-usb.rules11-add-remove.rules,负责设备监测。

root@am335x-evm:/etc/udev/rules.d# vi 11-add-usb.rules

ACTION!="add",GOTO="farsight"

KERNEL=="sd[a-z][0-9]",RUN+="/opt/usb/mountusb.sh %k"

KERNEL=="sd[a-z]",RUN+="/opt/usb/mountusb.sh %k"

LABEL="farsight"

root@am335x-evm:/etc/udev/rules.d# vi 11- remove -usb.rules

ACTION !="remove",GOTO="farsight"

SUBSYSTEM!="block",GOTO="farsight"

KERNEL=="sd[a-z][0-9]",RUN+="/opt/usb/umountusb.sh"

LABEL="farsight"

2. /opt/usb下建立执行脚本,负责挂载和卸载。

root@am335x-evm:/opt/usb# vi mountusb.sh

#!/bin/sh

mount  -t vfat /dev/$1 /mnt/usb

sync

root@am335x-evm:/opt/usb# vi umountusb.sh

#!/bin/sh

sync

umount /mnt/usb

3. 完成操作,可实现自动挂载。如要读写U盘文件,则可以在执行脚本中添加其他操作即可。

参考文章:

http://blog.chinaunix.net/uid-26119896-id-5211736.html (u盘挂载)

http://www.cnblogs.com/sopost/archive/2013/01/09/2853200.html (udev简介)

Logo

更多推荐