+# This service is usually not enabled by default. If enabled, it
+# acts as a barrier for basic.target -- so all later services will
+# wait for udev completely finishing its coldplug run.
+#
+# If needed, to work around broken or non-hotplug-aware services,
+# it might be enabled unconditionally, or pulled-in on-demand by
+# the services that assume a fully populated /dev at startup. It
+# should not be used or pulled-in ever on systems without such
+# legacy services running.
+
[Unit]
-Description=wait until full initialization
+Description=udev Wait for Complete Device Initialization
DefaultDependencies=no
-After=udev.service
+Wants=udev.service
+After=udev-trigger.service
+Before=basic.target
[Service]
-Type=finish
-ValidNoProcess=yes
+Type=oneshot
+TimeoutSec=180
+RemainAfterExit=yes
ExecStart=@sbindir@/udevadm settle
[Install]
-WantedBy=sysinit.target
-Also=udev.service
-Also=udev-retry.service
+WantedBy=basic.target