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

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

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

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