第 12 章 使用 udev 进行动态内核设备管理

目录

12.1. /dev 目录
12.2. 内核 uevents 和 udev
12.3. 驱动程序、内核模块和设备
12.4. 引导和启动设备设置
12.5. 调试 udev 事件
12.6. 使用 udev 规则影响内核设备事件处理
12.7. 永久设备命名
12.8. 已替换的 hotplug 包
12.9. 参考信息

从版本 2.6 开始,内核几乎可以添加或去除正在运行的系统中的任何设备。设备状态的更改(无论插入还是去除设备)需要通知用户空间。一旦插入或者发现设备时就需要进行配置。特定设备的用户需要知道此设备的所有状态更改。udev 提供必需的结构来动态维护设备节点文件以及 /dev 目录中的符号链接。udev 规则提供一种将外部设备插入到内核设备事件处理的方法。这使得您可以定制 udev 设备处理,例如通过添加特定脚本作为内核设备处理的一部分来执行,或者请求并导入额外数据从而在设备处理期间进行评估。


12.1. /dev 目录

/dev 目录中的设备节点提供对相应的内核设备的访问。使用 udev 时,/dev 目录反映内核的当前状态。每个内核设备都有相应的设备文件。如果设备从系统断开,则去除此设备节点。

/dev 目录的内容保存在临时文件系统中,所有文件都是在每个系统启动时从头创建的。手工创建或有意更改的文件不会在重引导后保留下来。无论相应内核设备的状态如何都出现在 /dev 目录中的静态文件和目录,可以放置在 /lib/udev/devices 目录中。系统启动时,此目录的内容复制到 /dev 目录,它们与 /lib/udev/devices 中的文件具有相同的所有权和许可权限。