mdev & hotplug实现动态挂载

本文介绍如何通过配置mdev.conf文件实现SD卡或USB设备的动态挂载。当设备插入或拔出时,利用hotplug功能触发mdev创建或移除设备节点,并通过执行指定脚本来完成自动挂载过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当SD卡或者usb插入/拔出的时候,会触发hotplug调用mdev创建/移除对应的设备节点,我们可以在这个时候通过配置/etc/mdev.conf来实现动态挂载,当前实现前必须确保linux支持hotplug和mdev功能(/proc/sys/kernel/hotplug: /sbin/mdev)。

1. /etc/mdev.conf添加usb/sd对应节点,以及需要在创建/移除时需要执行的脚本:

	echo 'mmcblk2p1 0:0 666 @/config/insert.sh' >> ${OUTPUTDIR}/rootfs/etc/mdev.conf
	echo 'mmcblk2 0:0 666 $$/config/remove.sh' >> ${OUTPUTDIR}/rootfs/etc/mdev.conf
	echo 'sda1 0:0 666 @/config/udisk_insert.sh' >> ${OUTPUTDIR}/rootfs/etc/mdev.conf
	echo 'sda 0:0 666 $$/config/udisk_remove.sh' >> ${OUTPUTDIR}/rootfs/etc/mdev.conf

--> mmcblk2p1 0:0 666 @/config/insert.sh
    mmcblk2 0:0 666 $/config/remove.sh
    sda1 0:0 666 @/config/udisk_insert.sh
    sda 0:0 666 $/config/udisk_remove.sh

2. 添加挂载脚本:

#!/bin/sh
echo "sd insert" > /dev/console

if[-e "/dev/$MDEV"]; then
	mkdir -p /mnt/sdcard/sd
	mount -rw /dev/$MDEV /mnt/sdcard/sd
fi

#!/bin/sh
echo "sd remove" > /dev/console
umount -l /mnt/sdcard/sd*
rm -rf /mnt/sdcard/sd*

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值