嵌入式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*

这样即可实现自动识别挂载和卸载了。


嵌入式Linux中,`mdev`(Machine Devie Driver)是一个用于设备驱动模块加载的系统工具,它简化了设备驱动的管理过程,包括自动挂载外设。当你想要让USB U盘在启动时自动挂载到文件系统中,可以借助`mdev`实现以下步骤: 1. 安装`mdev`:首先确保你的系统已经安装了`mdev-tools`包,如果没有,可以通过包管理器如`apt-get`(对于基于Debian的系统)或`yum`(对于基于RPM的系统)安装。 2. 配置udev规则:编辑`/etc/udev/rules.d`目录下的`70-persistent-storage.rules`文件,添加针对USB存储设备的规则,例如: ``` SUBSYSTEM=="block", ACTION=="add", ATTR{bmiode}=="80", ATTR{idVendor}=="1A4B", ATTR{idProduct}=="2542", MODE="0660", GROUP="dialout", RUN+="/sbin/mdev --reload-rules && /sbin/mdev -k scan" ``` 这里假设U盘的Vendor ID和Product ID分别是1A4B和2542。 3. 更新udev数据库:运行`sudo udevadm control --reload-rules`以应用新的规则,并扫描新连接的设备。 4. 自动挂载:如果U盘在每次启动后都应该自动挂载,可以在`/etc/fstab`文件中添加一条条目,指定设备路径、挂载点、文件系统类型等信息。格式类似: ``` /dev/sdb1 /mnt/usb auto defaults,nofail,users 0 0 ``` 5. 启动时挂载:为了保证U盘在系统启动时被挂载,你还可以创建一个自启动脚本,比如`/etc/rc.local`,加入挂载命令。 完成以上步骤后,每次系统重启时,U盘应该会按照配置自动挂载到指定的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值