Chinaunix首页 | 论坛 | 博客
  • 博客访问: 280004
  • 博文数量: 39
  • 博客积分: 1215
  • 博客等级: 军士长
  • 技术积分: 471
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-17 19:34
个人简介

grace under pressure

文章分类

全部博文(39)

文章存档

2013年(6)

2012年(28)

2011年(5)

分类: LINUX

2012-03-02 12:38:39

此文转自:http://blog.csdn.net/hugerat/article/details/3437099
下面是里面的我截取的部分内同,详细信息可以看源网址:
mdev的使用方法和原理:
mdev是busybox自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox为基础构建嵌入式linux的根文件系统时,使用它是最优的选择。

mdev使用
mdev的使用在busybox中的mdev.txt文档已经将得很详细了。但作为例子,我简单讲讲我的使用过程:

(1)在编译时加上对mdev的支持(我是使用的是busybox1.10.1):
    Linux System Utilities  --->    

mdev               
   Support /etc/mdev.conf 
     Support command execution at device addition/removal

这个busybox一般默认都是打开的

(2)在启动时加上使用mdev的命令:
我在自己创建的根文件系统(nfs)中的/linuxrc文件中添加了如下指令:
#挂载/sys为sysfs文件系统
    echo "----------mount /sys as sysfs"
    /bin/mount -t tmpfs mdev /dev 
    /bin/mount -t sysfs sysfs /sys
    echo "----------Starting mdev......"
    /bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
    mdev -s 
注意:是/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug,并非/bin/echo /bin/mdev > /proc/sys/kernel/hotplug。(
上面信息添加到开机的启动/etc/init.d/rcS中就能开机挂载了

busybox的文档有错!!

(3)至于/etc/mdev.conf文件,可有可无,不影响使用,只是添加了些功能。

关于mdev的使用方法,我在网上找到一篇中文版的。大家可以到我上传的资源中下载。    

要想真正用好mdev,适当知道一下原理是必不可少的。现在简单介绍一下mdev的原理:

执行mdev -s
:以‘-s’为参数调用位于
/sbin目录写的mdev(其实是个链接,作用是传递参数给/bin目录下的busybox程序并调用它),mdev扫描 /sys/class 和/sys/block中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含的是设备号,则mdev就利用这些信息为这个设备在/dev下创建设备节点文件。一般只在启动时才执行一次 “mdev -s”。

热插拔事件:由于启动时运行了命令:echo /sbin/mdev > /proc/sys/kernel/hotplug ,那么当有热插拔事件产生时,内核就会调用位于/sbin目录的mdev。这时mdev通过环境变量中的 ACTION 和DEVPATH,(这两个变量是系统自带的)来确定此次热插拔事件的动作以及影响了/sys中的那个目录。接着会看看这个目录中是否有“dev”的属性文件,如果有就利用这些信息为这个设备在/dev 下创建设备节点文件。



阅读(2660) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

鱼门客栈2012-03-03 08:38:57

原来是mdev坐久的系统启动和热插拔或动态加载驱动程序( ⊙ o ⊙ )啊!