# Copy product-specific files (udev rules, factory config, etc.) to /
# based on DT compatible strings, before udevd processes any events.
#
# <hook/mount/all> fires after all filesystems are mounted but before
# finit enters runlevel S and starts any service, so the run task is
# guaranteed to start ahead of udevd.  The <run/preudev/success>
# condition below then blocks udevd until pre-udev has finished.
#
# Systems without a matching product directory exit immediately.
run name:preudev cgroup.init [S] <hook/mount/all> log \
	/usr/libexec/infix/pre-udev -- Probing platform

# Hold udevd back until pre-udev has had a chance to install any
# product-specific udev rules so that they are applied on first pass.
service nowarn cgroup.system name:udevd notify:none env:-/etc/default/udevd pid:udevd log \
	[S12345789] <run/preudev/success> /lib/systemd/systemd-udevd $UDEVD_ARGS -- Device event daemon (udev)
service nowarn cgroup.system name:udevd notify:none env:-/etc/default/udevd pid:udevd log \
	[S12345789] <run/preudev/success> udevd $UDEVD_ARGS -- Device event daemon (udev)
