11.4 ブートおよび初期デバイスセットアップ

udevデーモンが実行する前にブートプロセス中に発生するすべてのデバイスイベントは、rootファイルシステムに常駐し、ブート時にはアクセスできないため、これらのイベントは消失します。その消失の埋め合せに、カーネルは、sysfsファイルシステム内の各デバイスのデバイスディレクトリにueventファイルを生成します。そのファイルにaddと書き込むことにより、カーネルは、ブート時に消失したものと同じイベントを再送します。/sys内のすべてのueventファイルを含む単純なループにより、すべてのイベントが再びデバイスノードを作成し、デバイスセットアップを実行します。

たとえば、ブート時に存在するUSBマウスは、ドライバがその時点で使用できないため、初期のブートロジックでは初期化されない場合があります。デバイス検出イベントは、消失し、そのデバイスのカーネルモジュールは検出されません。接続されている可能性があるデバイスを手動で検索する代わりに、udevは、rootファイルシステムが使用可能になった後でカーネルからすべてのデバイスイベントを要求するだけです。これにより、このUSBマウスデバイスのイベントが再び実行します。これで、マウントされたrootファイルシステム上のカーネルモジュールが検出され、USBマウスが初期化されます。

ユーザスペースでは、実行時のデバイスのcoldplugシーケンスとデバイス検出との間に明らかな違いはありません。両方の場合も、同じ規則を使用して一致検出が行われ、同じ設定されたプログラムが実行されます。