嵌入式Linux下实现U盘、SD卡自动挂载功能

2019-07-12 15:06发布

在嵌入式Linux中我们经常用到U盘、SD卡等存储设备,每次手动挂载或卸载非常麻烦,因此可以采用以下方法实现它们的自动挂载或卸载: 1、 首先在 /etc/init.d/rcS 中加入以下语句 echo /sbin/mdev > /proc/sys/kernel/hotplug 2、在 /etc 目录下建立 medv.conf 的文件,并输入以下内容 sd[a-z][0-9]      0:0 666        @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM) sd[a-z]           0:0 666        $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM) ub[a-z][0-9]      0:0 666        @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM) ub[a-z]           0:0 666        $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM) mmcblk[0-9]p[0-9] 0:0 666        @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM) mmcblk[0-9]       0:0 666        $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM) 3、在 /etc 目录下建立目录 hotplug,并在 /etc/hotplug 目录下创建 insert.shremove.sh  两个文件,文件内容如下: insert.sh #!/bin/sh if [ -n "$1" ] ; then     if [ -b /dev/$1 ]; then         if [ ! -d /media ]; then             mkdir -p /media         fi         if [ ! -d /media/$1 ]; then             mkdir -p /media/$1         fi         mount /dev/$1 /media/$1 if [ $? -ne 0 ]; then      rm -rf /media/$1         fi     fi fi remove.sh #!/bin/sh MOUNTS=$(mount | grep $1 | cut -d' ' -f3) umount $MOUNTS rm -rf $MOUNTS 4、添加执行权限 chmod 777 insert.sh chmod 777 remove.sh 经过以上步骤后,插入U盘、SD等存储设备时,即可在 /media 目录下建立相应的文件夹,挂载对应的设备。 注1:以上的步骤中没有涉及到busybox应该怎样配置才能支持mdev、支持热插拔 注2:以上的步骤中没有涉及到 /etc/init.d/rcS内容的配置