linux U盘/SD卡 热插拔以及自动挂载完整机制

/mnt/nand # mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 50000000Hz, actual 50000000HZ div = 1)
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.68 GiB 
 mmcblk0: p1

/mnt/nand # ls -l /dev/m*
crw-rw----    1 root     root        1,   1 Jan  2 23:39 /dev/mem
brw-rw----    1 root     root      179,   0 Jan  2 23:40 /dev/mmcblk0
brw-rw----    1 root     root      179,   1 Jan  2 23:40 /dev/mmcblk0p1
crw-rw----    1 root     root       90,   0 Jan  2 23:39 /dev/mtd0
crw-rw----    1 root     root       90,   1 Jan  2 23:39 /dev/mtd0ro
crw-rw----    1 root     root       90,   2 Jan  2 23:39 /dev/mtd1
crw-rw----    1 root     root       90,   3 Jan  2 23:39 /dev/mtd1ro
crw-rw----    1 root     root       90,   4 Jan  2 23:39 /dev/mtd2
crw-rw----    1 root     root       90,   5 Jan  2 23:39 /dev/mtd2ro
crw-rw----    1 root     root       90,   6 Jan  2 23:39 /dev/mtd3
crw-rw----    1 root     root       90,   7 Jan  2 23:39 /dev/mtd3ro
crw-rw----    1 root     root       90,   8 Jan  2 23:39 /dev/mtd4
crw-rw----    1 root     root       90,   9 Jan  2 23:39 /dev/mtd4ro
brw-rw----    1 root     root       31,   0 Jan  2 23:39 /dev/mtdblock0
brw-rw----    1 root     root       31,   1 Jan  2 23:39 /dev/mtdblock1
brw-rw----    1 root     root       31,   2 Jan  2 23:39 /dev/mtdblock2
brw-rw----    1 root     root       31,   3 Jan  2 23:39 /dev/mtdblock3
brw-rw----    1 root     root       31,   4 Jan  2 23:39 /dev/mtdblock4

/mnt/nand # mmc0: card 1234 removed

·增加script “mdev.conf”(/etc/mdev.conf)

# Block devices

# for usb

sd[a-z][0-9]      0:6     660 */path/automount.sh /tmp/vrecord/videoclips/

# for sd/mmc card

mmcblk[0-9]p[0-9] 0:6     660 */path/automount.sh /tmp/vrecord/videoclips/

 

 

·增加script “automount.sh”(/path/automount.sh)

#!/bin/sh

destdir=$1

my_umount()

{

       if grep -qs "^/dev/$1 " /proc/mounts ; then

               umount "${destdir}";

       fi

       [ -d "${destdir}/$1" ] && rmdir "${destdir}"

}

my_mount()

{

       mkdir -p "${destdir}" || exit 1

       usleep(20)

       if [ -e /dev/${1}p1 ]; then

               devname=${1}p1

       else

               devname=${1}

       fi

       if ! mount -t auto -o sync "/dev/$1" "${destdir}"; then

               # failed to mount, clean up mountpoint

               rmdir "${destdir}"

               exit 1

       fi

}

case "${ACTION}" in

add|"")

        my_umount ${MDEV}

        my_mount ${MDEV}

       ;;

remove)

       my_umount ${MDEV}

       ;;

esac
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空胆好小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值