嵌入式开发板iTOP-6818开发板-QtE系统源码-自动挂载U盘TF卡等(热拔插)
本文转自迅为论坛:http://www.topeetboard.com
一、添加对热插拔事件响应,实现U盘自动挂载与卸载
(1)创建mdev.conf文件:
vi /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
并注释掉下图中的内容:
(2)创建udisk_insert文件
mkdir -p /etc/hotplug/usb
vi /etc/hotplug/usb/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
(3)创建udisk_remove文件
vi /etc/hotplug/usb/udisk_remove
写入:
#!/bin/sh
echo "usbdisk remove!" > /dev/console
umount -l /mnt/usbdisk/sd*
rm -rf /mnt/usbdisk/sd*
(4)修改脚本权限
chmod 755 /etc/hotplug/usb/*
如下图所示插上U盘,此时就可以看到/mnt目录下多了个usbdisk文件夹.
进入到usbdisk文件夹,看到sda1文件夹。说明我们已经成功将U盘挂载到开发板的
/mnt/usbdisk下的sda1目录。拔掉U盘就可以看到sda1目录消失。
二、实现SD/TF卡的自动挂载
(1)在mdev.conf添加如下内容:
vi /etc/mdev.conf
写入:
mmcblk1p[0-9] 0:0 666 @/etc/hotplug/sd/sd_insert
mmcblk1 0:0 666 $/etc/hotplug/sd/sd_remove
(2)创建sd_insert文件
mkdir -p /etc/hotplug/sd
vi /etc/hotplug/sd/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
(3)创建sd_remove文件
vi /etc/hotplug/sd/sd_remove
写入:
#!/bin/sh
echo "sd card remove!" > /dev/console
umount -l /mnt/sdcard/sd*
rm -rf /mnt/sdcard/sd*
(5)修改脚本权限
chmod 755 /etc/hotplug/sd/*
如下图所示,插上TF/SD卡,此时就可以看到/mnt目录下多了个sdcard文件夹。
进入到sdcard文件夹,可以看到sda1目录。说明我们已经成功将TF卡挂载到开发板的
/mnt/sdcard下的sda1目录。退出当前目录,拔掉TF卡就可以看目录消失(不退出当前目录就拔掉TF卡可能会造成系统重启)。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。