mdev机制(四)————mdev实现U盘或SD卡自动挂载
来源:互联网 发布:java并发 多条数据 编辑:程序博客网 时间:2024/05/29 12:31
前面我们说了udev实现U盘或SD卡的自动挂载,在这里我们再说一下怎样用mdev实现这个功能。
mdev是busybox中的一个udev管理程序的一个精简版,他也可以实现设备节点的自动创建和设备的自动挂载,只是在实现的过程中有点差异,在发生热插拔时间的时候,mdev是被hotplug直接调用,这时mdev通过环境变量中的 ACTION 和 DEVPATH,来确定此次热插拔事件的动作以及影响了/sys中的那个目录。接着会看看这个目录中是否有“dev”的属性文件,如果有就利用这些信息为这个设备在/dev 下创建设备节点文件。
下面是如何让我们的系统支持mdev。
1.在使用busybox制作根文件系统的时候,选择支持mdev
Linux System Utilities —>
[*] mdev
[*] Support /etc/mdev.conf
[*] Support command execution at device addition/removal
2.在文件系统添加如下内容
vim /etc/init.d/rcSmount -t tmpfs mdev /dev mount -t sysfs sysfs /sysmkdir /dev/ptsmount -t devpts devpts /dev/ptsecho /sbin/mdev>/proc/sys/kernel/hotplugmdev –s /*s 为扫描*/
这些语句的添加在mdev的手册中可以找到。
3.添加对热插拔事件的响应,实现U盘和SD卡的自动挂载。
vim /etc/mdev.confmmcblk[0-9]p[0-9] 0:0 666 @ /etc/sd_card_insertingmmcblk[0-9] 0:0 666 $ /etc/sd_card_removingsd[a-z] [0-9] 0:0 666 @ /etc/usb/usb_insertingsd[a-z] 0:0 666 $ /etc/usb/usb_removing
红色部分,是一个脚本,脚本内容可以根据我们的需要定制,可以实现挂载,卸载或其他一些功能。
如下是自动挂载和卸载的脚本:
/etc/sd_card_inserting #!/bin/sh mount -t vfat /dev/mmcblk0p1 /mnt/sd/etc/sd_card_removing #!/bin/sh sync umount /mnt/sd
韦东山例子:
我接上U盘,想自动挂载,怎么办?mdev.conf的格式:<device regex> <uid>:<gid> <octal permissions> [<@|$|*> <command>]device regex:正则表达式,表示哪一个设备uid: ownergid: 组IDoctal permissions:以八进制表示的属性@:创建设备节点之后执行命令$:删除设备节点之前执行命令*: 创建设备节点之后 和 删除设备节点之前 执行命令command:要执行的命令写mdev.conf1.leds 0:0 777led1 0:0 777led2 0:0 777led3 0:0 7772.leds?[123]? 0:0 7773.leds?[123]? 0:0 777 @ echo create /dev/$MDEV > /dev/console4.leds?[123]? 0:0 777 * if [ $ACTION = "add" ]; then echo create /dev/$MDEV > /dev/console; else echo remove /dev/$MDEV > /dev/console; fi5. leds?[123]? 0:0 777 * /bin/add_remove_led.sh把命令写入一个脚本:add_remove_led.sh#!/bin/shif [ $ACTION = "add" ]; then echo create /dev/$MDEV > /dev/console; else echo remove /dev/$MDEV > /dev/console; fi6. U盘自动加载sda[1-9]+ 0:0 777 * if [ $ACTION = "add" ]; then mount /dev/$MDEV /mnt; else umount /mnt; fi7.sda[1-9]+ 0:0 777 * /bin/add_remove_udisk.shadd_remove_udisk.sh#!/bin/shif [ $ACTION = "add" ]; then mount /dev/$MDEV /mnt; else umount /mnt; fi
0 0
- mdev机制(四)————mdev实现U盘或SD卡自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- mdev的使用方法和原理以及实现U盘或SD卡的自动挂载
- Linux命令简写全称
- paypal_ipn的option_selection1消失的解决方式
- hdu 5543 Pick The Sticks 【01背包】
- JavaScript---数组问题
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- mdev机制(四)————mdev实现U盘或SD卡自动挂载
- reinforce
- Windows PE 第十三章 PE补丁技术
- Centos安装lnmp(php7.0)+mongodb数据库
- 欢迎使用CSDN-markdown编辑器
- 使用Executors创建和管理线程
- Reverse Linked List 解题报告
- Maximum Depth of Binary Tree
- POJ 3268 Silver Cow Party (单源最短路Dijkstra+反向构图)