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

在嵌入式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内容的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值