基于对hotplug机制和udev机制的理解,实现外设存储设备的自动挂载有以下方法:
mdev仅仅是作为引导,真正起作用的是hotplug。
下面是利用hotplug实现自动加载的方法:
1.在busybox当中添加对mdev的支持
mdev是busybox中udev设备文件系统的精简版
make menuconfig
确保以下几项被选中:
Linux System Utilities --->
mdev
Support /etc/mdev.conf
Support subdirs/symlinks
Support regular expressions substitutions when renaming dev
Support command execution at device addition/removal
Support loading of firmwares
2.在rcS脚本当中加入以下内容:
#mount -a
#mount -t devpts devpts /dev/pts
#echo /sbin/mdev > /proc/sys/kernel/hotplug
3.在mdev.conf当中加入
sd[a-z][0-9] 0:0 666 @/etc/hotplug/usb/udisk_insert
sd[a-z] 0:0 666 $/etc/hotplug/usb/udisk_remove
4.创建/etc/hotplug/usb/udisk_insert和/etc/hotplug/usb/udisk_remove可执行脚本,在脚本当中完成mount动作。
5.udisk_insert脚本实现:
#!/bin/sh
if[-d /sys/block/*/$MDEV];then
mkdir -p /media/udisk-$MDEV
if[.....];then
ntfs-3g /dev/$MDEV /media/udisk-$MDEV
else
mount /dev/$MDEV /media/udisk-$MDEV
fi
fi
6.udisk_remove脚本实现:
#!/bin/sh
umount -l /media/udisk*
rm /media/udisk* -rf