diff options
Diffstat (limited to 'units')
-rw-r--r-- | units/.gitignore | 3 | ||||
-rw-r--r-- | units/udev-control.socket | 10 | ||||
-rw-r--r-- | units/udev-kernel.socket | 10 | ||||
-rw-r--r-- | units/udev-settle.service.in | 25 | ||||
-rw-r--r-- | units/udev-trigger.service.in | 10 | ||||
-rw-r--r-- | units/udev.service.in | 14 |
6 files changed, 72 insertions, 0 deletions
diff --git a/units/.gitignore b/units/.gitignore index 94412d52e7..f3b3cef133 100644 --- a/units/.gitignore +++ b/units/.gitignore @@ -40,3 +40,6 @@ systemd-update-utmp-runlevel.service systemd-update-utmp-shutdown.service test-env-replace systemd-binfmt.service +/udev-settle.service +/udev-trigger.service +/udev.service diff --git a/units/udev-control.socket b/units/udev-control.socket new file mode 100644 index 0000000000..f80f774427 --- /dev/null +++ b/units/udev-control.socket @@ -0,0 +1,10 @@ +[Unit] +Description=udev Control Socket +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Socket] +Service=udev.service +ListenSequentialPacket=/run/udev/control +SocketMode=0600 +PassCredentials=yes diff --git a/units/udev-kernel.socket b/units/udev-kernel.socket new file mode 100644 index 0000000000..23fa9d5e11 --- /dev/null +++ b/units/udev-kernel.socket @@ -0,0 +1,10 @@ +[Unit] +Description=udev Kernel Socket +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Socket] +Service=udev.service +ReceiveBuffer=134217728 +ListenNetlink=kobject-uevent 1 +PassCredentials=yes diff --git a/units/udev-settle.service.in b/units/udev-settle.service.in new file mode 100644 index 0000000000..b0a4964f76 --- /dev/null +++ b/units/udev-settle.service.in @@ -0,0 +1,25 @@ +# 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=udev Wait for Complete Device Initialization +DefaultDependencies=no +Wants=udev.service +After=udev-trigger.service +Before=basic.target + +[Service] +Type=oneshot +TimeoutSec=180 +RemainAfterExit=yes +ExecStart=@bindir@/udevadm settle + +[Install] +WantedBy=basic.target diff --git a/units/udev-trigger.service.in b/units/udev-trigger.service.in new file mode 100644 index 0000000000..cd81945c88 --- /dev/null +++ b/units/udev-trigger.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=udev Coldplug all Devices +Wants=udev.service +After=udev-kernel.socket udev-control.socket +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@bindir@/udevadm trigger --type=subsystems --action=add ; @bindir@/udevadm trigger --type=devices --action=add diff --git a/units/udev.service.in b/units/udev.service.in new file mode 100644 index 0000000000..c27eb1baf5 --- /dev/null +++ b/units/udev.service.in @@ -0,0 +1,14 @@ +[Unit] +Description=udev Kernel Device Manager +Wants=udev-control.socket udev-kernel.socket +After=udev-control.socket udev-kernel.socket +Before=basic.target +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Service] +Type=notify +OOMScoreAdjust=-1000 +Sockets=udev-control.socket udev-kernel.socket +Restart=on-failure +ExecStart=@pkglibexecdir@/udevd |