1. 程式人生 > >嵌入式linux 實現mdev SD卡和U盤自動掛載和解除安裝的方法 mdev.conf

嵌入式linux 實現mdev SD卡和U盤自動掛載和解除安裝的方法 mdev.conf

首先先參考這些部落格做一些瞭解: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*

這樣即可實現自動識別掛載和解除安裝了。