12.4. 引导和启动设备设置

在 udev 守护程序运行之前的引导过程中发生的所有设备事件都会丢失,因为处理这些事件的基础结构保存在根文件系统中,并且此时不可用。为了弥补损失,内核为 sysfs 文件系统中的每个设备提供一个 uevent 文件。通过将 add 写入到该文件,内核将再次发送引导时丢失的相同事件。/sys 中所有 uevent 文件的简单循环将再次触发所有事件来创建设备节点并执行设备设置。

例如,在引导期间出现的 USB 鼠标可能不会在早期引导逻辑中初始化,因为驱动程序在那时不可用。此设备发现的事件丢失并且不能为该设备查找内核模块。不是手工搜索可能连接的设备,udev 在根文件系统可用后直接从内核请求所有设备事件,所以 USB 鼠标设备的事件可以再次运行。现在它在装入的根文件系统上找到内核模块,因此可以初始化 USB 鼠标。

在用户空间,设备冷插入序列和运行时期间发现的设备之间没有明显的区别。在这两种情况下,使用相同的规则来匹配并且运行相同的配置程序。