1. 编辑/etc/init.d/rsC或S10mdev文件
在/etc/init.d/rsC或S10mdev中加入以下语句:
echo /sbin/mdev > /proc/sys/kernel/hotplug
当有热插拔事件产生时,内核会调用/proc/sys/kernel/hotplug文件里指定的应用程序来处理热插拔事件。把/sbin/mdev写到/proc/sys/kernel/hotplug文件里。当有热拔插事件时,内核调用/sbin/mdev来处理
2、在/etc/下修改mdev.conf的文件
sd[a-z][0-9] 0:0 666 @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)
sd[a-z] 0:0 666 $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)
ub[a-z][0-9] 0:0 666 @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)
ub[a-z] 0:0 666 $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)
mmcblk[0-9]p[0-9] 0:0 666 @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)
mmcblk[0-9] 0:0 666 $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)
3、创建设备节点创建、删除所执行的shell文件
在/etc/下建立以下文件夹hotplug,并在hotplug目录下建立以下文件,包含以下内容:
insert.sh:
if [ -n "$1" ] ; then #判断参数1是否为空
if [ -b /dev/$1 ]; then #判断文件夹 /dev/mmcblkp0b3是否存在
if [ ! -d /run/media ]; then #如果/run/media文件夹不存在,创建
mkdir -p /media
fi
if [ ! -d /run/media/$1 ]; then #如果/run/media/mmcblk0p3不存在,
mkdir -p /media/$1
fi
mount /dev/$1 /media/$1
if [ $? != 0 ]; then #$?表示上一个程序是否成功,成功为0
rm -rf /run/media/$1 #上一步执行不成功,删除文件夹
fi
fi
fi
MOUNTS=$(mount | grep $1 | cut -d' ' -f3)
umount $MOUNTS
rm -rf $MOUNTS
MOUNTS=$(mount | grep $1 | cut -d' ' -f3)
umount $MOUNTS
rm -rf $MOUNTS
mount 查看挂载的文件
mount | grep mmcblk0p3 查找mount文件中的mmcblk0p3
插入U盘、SD等设备,即可在根目录的/run/media目录下建立相应的文件夹,挂载对用的磁盘文件