嵌入式linux 实现mdev SD卡和U盘自己主动挂载和卸载的方法 mdev.conf

时间:2022-02-04 18:47:03

首先先參考这些博客做一些了解:http://linux.chinaunix.net/techdoc/install/2009/11/18/1144936.shtml

http://www.cnblogs.com/leaven/archive/2010/09/17/1828896.html。也可百度mdev.conf查看其它文章。


内核务必要支持mdev和hotplug功能。

etc文件夹下要有这个文件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
mmcblk1p[0-9] 	  0:0 666        @/etc/hotplug/sd/sd_insert
mmcblk1       	  0:0 666        $/etc/hotplug/sd/sd_remove
从上面能够看到依赖四个脚本,相应的是U盘和SD卡的挂载和卸载。

在/etc/hotplug/usb文件夹下建立udisk_insert和udisk_remove两个脚本,内容分别例如以下:

udisk_insert:

#!/bin/sh
echo "usbdisk insert!" > /dev/console

if [ -e "/dev/$MDEV" ]  ; then

  mkdir -p /mnt/usbdisk/$MDEV

  mount /dev/$MDEV /mnt/usbdisk/$MDEV 
fi

udisk_remove:

#!/bin/sh
echo "usbdisk remove!" > /dev/console

umount -l /mnt/usbdisk/sd*
rm -rf /mnt/usbdisk/sd*

在/etc/hotplug/sd文件夹下建立sd_insert和sd_remove两个脚本,内容分别例如以下:

sd_insert:

#!/bin/sh
echo "sd card insert!" > /dev/console
 
if [ -e "/dev/$MDEV" ]; then

  mkdir -p /mnt/sdcard/sd

  mount -rw /dev/$MDEV /mnt/sdcard/sd 
fi

sd_remove:

#!/bin/sh
echo "sd card remove!" > /dev/console

umount -l /mnt/sdcard/sd*
rm -rf /mnt/sdcard/sd*

这样就可以实现自己主动识别挂载和卸载了。