新闻  |   论坛  |   博客  |   在线研讨会
嵌入式开发板iTOP-6818开发板-QtE系统源码-自动挂载U盘TF卡等(热拔插)
顺时针01 | 2017-09-26 15:10:26    阅读:62236   发布文章

本文转自迅为论坛:http://www.topeetboard.com



iTOP-6818开发板.jpg

 

一、添加对热插拔事件响应,实现 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

并注释掉下图中的内容:

 

图片1.jpg 

 

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 文件夹.

 

图片2.jpg 

 

进入到 usbdisk 文件夹,看到 sda1 文件夹。说明我们已经成功将 U 盘挂载到开发板的

/mnt/usbdisk 下的 sda1 目录。拔掉 U 盘就可以看到 sda1 目录消失。

图片3.jpg 

 

二、实现 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 文件夹。

图片4.jpg 

 

进入到 sdcard 文件夹,可以看到 sda1 目录。说明我们已经成功将 TF 卡挂载到开发板的

/mnt/sdcard 下的 sda1 目录。退出当前目录,拔掉 TF 卡就可以看目录消失(不退出当前目录就拔掉 TF 卡可能会造成系统重启)。

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客