6、udev机制

    udev 机制,主要实现的是当设备连接系统的时候,在 /dev 目录下,自动创建设备节点。

 

1.1、工作方式

    当设备连接或者移除的时候,内核会发出热拔插事件(hotplug event),而热拔插的时候,设备的详细的信息会由内核通过 netlink 套接字发送出来,发送出来的事情,我们称之为 uevent。udev 基址,就根据这些内核发出来的信息,去创建设备文件节点工作,而设备的命名策略、权限控制、事件处理都是由 udev 规则文件去执行。

(1)内核检测设备的连接状况,通过 netlink 发出 uevent

(2) udev 获取内核发出的信息,进行规则的匹配工作。

1.2、udev 配置文件

    配置文件是在,/etc/udev/udev.conf,里面,内容非常的简单,一般是:

udev_root=”/dev” ; udev产生的设备文件的根目录是/dev
udev_db=”/dev/.udevdb” ; 通过udev产生的设备文件形成的数据库
udev_rules=”/etc/udev/rules.d” ;用于指导udev工作的规则所在目录。
udev_log=”err” ;当出现错误时,用syslog记录错误信息。

    最为重要的是 /etc/udev/rules.d 文件,rules.d 都是 udev 规则文件,

05-udev-early.rules  60-raw.rules            90-dm.rules
40-multipath.rules   60-wacom.rules          90-hal.rules
50-udev.rules        61-uinput-stddev.rules  95-pam-console.rules
51-hotplug.rules     61-uinput-wacom.rules   98-kexec.rules
60-net.rules         85-pcscd_ccid.rules     bluetooth.rules
60-pcmcia.rules      90-alsa.rules           xen-backend.rules

    这些文件都是一些 udev 的规则文件,当一个设备连接的时候,就根据这些文件的规则,进行设备节点的创建。

时间: 2024-10-05 10:08:31

6、udev机制的相关文章

Linux入门之内核管理番外篇(4)udev入门(1)

Linux入门之内核管理番外篇(4)udev入门(1) 前言 在上篇中的内核模块管理讲解中,最后或多或少会留下一些疑问,那么这些疑问就是内核模块的参数是怎么和对应的硬件所匹配上的,而硬件又是怎么被内核识别,并且一个个都映射成实际存在的文件,而这些文件之间的关系及作用.当然在最后了解到,这些硬件设备的探测信息是通过一个叫udev的工具来实现的,通过udev中配置的规则可以很有效的识别每一个硬件,并配合sysfs文件系统,将每个探测到的硬件信息导入到/sys目录中,那么与/proc目录对与内核系统信

【转载】linux2.6内核initrd机制解析

题记 很久之前就分析过这部分内容,但是那个时候不够深入,姑且知道这么个东西存在,到底怎么用,来龙去脉咋回事就不知道了.前段时间工作上遇到了一个initrd的问题,没办法只能再去研究研究,还好,有点眉目,索性整理了一下. 网络上流传着很多关于ramdisk.initrd的各种版本的分析,我的这篇源于对他们的理解,非常感谢那些前辈的无私奉献,要不然我们这些晚辈学起东 西来该是多么艰难呀.在这里需要特别声明的是如果文中有引用了您的思想而没有给出参考文献,请您原谅我的疏忽.晚辈就是需要站在像您这种巨人的

关于udev,sys,proc,tmpfs一些定义的问题

谈这些概念之前,首先不得不说下devfs.devfs(设备文件系统)时由Linux2.4内核引入的,它的出现可以使得程序在设备初始化时在/dev目录下创建设备文件,卸载时将它删除.虽然它在2.6内核版本后已被udev取代,这里还是简要列出它的范例,方便后面的分析. static devfs_handle_t devfs_handle static int __init xxx_init(void){ int ret; /* 内核中注册设备 */ ret = register_chrdev(XXX

SRAM,SDRAM,网卡

SRAM,SDRAM,网卡有地址总线.由cpu统一编址. NAND flash没有地址总线. 因 此有这两者寻址方式不同. 字符设备驱动程序的框架. 驱动程序 1.有led.read,led.write,led.open 这些函数,2.定义了-个结构体fileoperation,这个结构体包括指向led.read的.read 函数.包括指向led.write的.write函数,包括指向led.open 的.open函数.3.入口函数(把fileoperation结构体告诉内核的函数),通过reg

Android——4.2.2 源码目录结构分析

最近公司要整android内部培训,分配给我写个培训文档,这里记录如下: 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/40897277#t17 导读: 关于的Android目录分析,网上有很多资料,在此不做全面介绍. 本文只简单介绍Android中我常涉及的到的一些目录与文件,文中都属个人观点,仅供参考-以google官方Android4.2.2源码为例. 各个厂商平台可能会有出入. 以android源码目录为"/"

老司机带你探知存储伸缩之道,赶紧上车,来不及了!

王炎,2013年加入腾讯架构平台部,从事分布式存储平台的开发和运营.目前负责冷数据存储的相关研发工作,主要应对云存储数据快速增长场景下,持续完善分级存储系统,优化总体存储成本. 一.概要 腾讯分布式文件存储(TFS)的数据量在短短数年时间里从0增加至EB级别,使用了几十万块磁盘,增长速度非常迅猛.另外,TFS承载的几乎都是互联网在线存储业务,需要在保证业务正常访问的情况下经常性快速扩容.在这种情况下,存储系统的伸缩性显得尤为重要,扩容过程的高效.稳定就成为必须要解决的问题. 下面介绍TFS平台实

【linux_笔记】Linux软件包管理

学习资源来自:www.magedu.com 学习记录过程中难免出现错误,示例仅供参考,大神请无视.. 软件包管理 =========== 前导 =============应用程序:(程序的运行与底层的平台架构(Architecture)有着莫大的关系) 不同方式编写的程序生产二进制可执行格式的方式不同:        C语言(需要编译):源代码-->(编译)二进制格式        脚本(不需要编译):解释器(二进制程序)        高级语言与汇编语言开发程序的区别:        汇编语言

用Busybox构建Linux根文件系统(转载)

注:本文转载自http://blog.sina.com.cn/u/2478597014 用Busybox构建Linux根文件系统 (2015-07-05 14:25:02)   虚拟机:Virtual Box4.2.6 和VMware Workstation6.5.2(这两种虚拟机都成功实作过) 开发环境:Linux版本2.6.32,采用Ubuntu10.04 arm-linux-gcc版本:3.4.1 Busybox版本:1.7.0 开发板:飞凌嵌入式S3C2440 开发板linux内核版本:

linux的启动过程以及启动注意事项

前言:连linux的启动原理都不知道?那怎么对linux进行优化?那么问题来了,究竟linux是怎么启动的,哎!总结吧. 内容: 当然是对启动的总结,慢慢来吧! 1)当给电的时候,主板的控制芯片会对CPU进行重置并且等待电压稳定,等电压稳定之后CPU就开始从FFFF0H处开始执行指令,但是这个地方只有一个跳转指令,跳转到真正的BIOS代码处,这时候BIOS就会进行POST加电自检了,加电-CPU-ROM-BIOS-System Clock-DMA-64KB RAM-IRQ-显卡等. 2)BIOS