uevents werden vom Kernel selbst (dh von Kerneltreibern) generiert.
udev erhält sie über netlink (7) mit der Familie NETLINK_KOBJECT_UEVENT, Gruppe 1. Anschließend werden verschiedene zusätzliche Felder aus rules & hwdb hinzugefügt und die erweiterten Uevents an kobject-uevent-Gruppe 2 gesendet, wo sie schließlich von libudev empfangen werden.
Es ist möglich, Uevents manuell auszulösen (z. B. durch Schreiben von "Hinzufügen" oder "Ändern" in die /sys/…/uevent
Datei eines bestimmten Geräts ), dies wird jedoch normalerweise nicht durchgeführt, außer wenn "udevadm trigger" verwendet wird.