Udev实现U盘或SD卡的自动挂载
作者:曹忠明,华清远见嵌入式学院讲师. Linux传统上使用静态设备创建的方法,在dev下创建了大量的节点,而不管这些节点相应的硬件设备是否存在.采用udev的方法,系统检测到设备才会去创建这些设备对应的节点. 这里我们简单的说一下udev的工作原理: Udev是依赖于sysfs的,当系统中添加一个新的设备后,内核检测到后就会产生一个hotplug event并查找/proc/sys/kernel/hotplug去找出管理设备连接的用户空间程序,若udev已经启动,内核会通知udev去检测sysfs中关于这个新设备的信息并创建设备节点.如/dev/vcs,在/sys/class/tty/vcs/dev存放的是”7:0”,既/dev/vcs的主次设备号. 并且udev还会根据/etc/udev/rules.d中的规则文件实现一些相应的功能. 下面我们介绍一下如何实现设备节点的自动创建及U盘或SD卡的自动挂载. 一、.udev的移植 文件系统中默认是没有对udev进行支持的,我们移植一个udev. 1.下载UDEV源码udev-080.tar.bz2,并解压 网址:http://www.us.kernel.org/pub/linux/utils/kernel/hotplug 2.交叉编译. 修改Makefile,具体修改如下: 3.添加udev的支持 下面三种方法功能相同 二、自动挂载U盘或SD卡 1.在/etc下创建udev目录 2.在/etc/udev下穿件目录rules.d和文件udev.conf 3.在udev.conf中添加如下内容 # udev.conf 4.在rules.d下创建规则文件 如实现U盘自动挂载 添加如下内容 这个文件中ACTION后是说明是什么事件,KERNEL后是说明是什么设备比如sda1,mmcblk0p1等,RUN这个设备插入后去执行哪个程序%k是传入这个程序的参数,这里%k=KERNEL的值也就是sda1等. 在/sbin/下创建mount-usb.sh文件添加如下内容 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |