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 的规则文件,当一个设备连接的时候,就根据这些文件的规则,进行设备节点的创建。