diff --git a/TODO b/TODO
index 0eae14fec..b49d3e15d 100644
--- a/TODO
+++ b/TODO
@@ -51,10 +51,6 @@ Features:
* when prompting for a hdd password show GUID partition label
-* document which targets shall be pulled in by users of the facility,
- and which ones are to be pulled in by the implementors of the
- facility.
-
* teach udev + logind's uaccess to somehow handle the "dead" device nodes from:
/lib/modules/$(uname -r)/modules.devname
and apply ACLs to them if they have TAG=="uaccess" in udev rules.
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index 18974477e..a76e4cc94 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -138,22 +138,6 @@
daemons.
-
- bluetooth.target
-
- This target is started
- automatically as soon as a
- Bluetooth controller is
- plugged in or becomes
- available at boot.
-
- This may be used to pull
- in Bluetooth management
- daemons dynamically when
- Bluetooth hardware is
- found.
-
- ctrl-alt-del.target
@@ -381,18 +365,6 @@
option set.
-
- local-fs-pre.target
-
- This target unit is
- automatically ordered before
- all local mount points marked
- with
- (see above). It can be used to
- execute certain units before
- all local mounts.
-
- multi-user.target
@@ -438,42 +410,6 @@
information.
-
- nss-lookup.target
-
- A target that should be
- used as synchronization point
- for all host/network name
- service lookups. Note that
- this is independent of
- user/group name lookups for
- which
- nss-user-lookup.target
- should be used. systemd
- automatically adds
- dependencies of type
- After= for
- this target unit to all SysV
- init script service units with
- an LSB header referring to the
- $named
- facility.
-
-
-
- nss-user-lookup.target
-
- A target that should be
- used as synchronization point
- for all user/group name
- service lookups. Note that
- this is independent of
- host/network name lookups for
- which
- nss-lookup.target
- should be used.
-
- paths.target
@@ -512,22 +448,6 @@
unit, for compatibility with SysV.
-
- printer.target
-
- This target is started
- automatically as soon as a
- printer is plugged in or
- becomes available at
- boot.
-
- This may be used to pull
- in printer management
- daemons dynamically when
- printer hardware is
- found.
-
- reboot.target
@@ -561,36 +481,6 @@
facility.
-
- remote-fs-pre.target
-
- This target unit is
- automatically ordered before
- all remote mount point units
- (see above). It can be used to
- run certain units before the
- remote mounts are
- established. Note that this
- unit is generally not part of
- the initial transaction,
- unless the unit that wants to
- be ordered before all remote
- mounts pulls it in via a
- Wants= type
- dependency. If the unit wants
- to be pulled in by the first
- remote mount showing up it
- should use
- remote-fs-setup.target
- (see below).
-
- Again, this target unit
- is not
- suitable for pulling in other
- units, it is only useful for
- ordering.
-
- remote-fs-setup.target
@@ -605,7 +495,7 @@
this target is not ordered
against the remote mounts, use
remote-fs-pre.target
- for that.
+ for that (see below).
Again, this target unit
is not
@@ -640,19 +530,6 @@
-
- rpcbind.target
-
- systemd automatically
- adds dependencies of type
- After= for
- this target unit to all SysV
- init script service units with
- an LSB header referring to the
- $portmap
- facility.
-
- runlevel2.targetrunlevel3.target
@@ -714,22 +591,6 @@
logic.
-
- smartcard.target
-
- This target is started
- automatically as soon as a
- smartcard controller is
- plugged in or becomes
- available at boot.
-
- This may be used to pull
- in printer management
- daemons dynamically when
- smartcard hardware is
- found.
-
- sockets.target
@@ -753,21 +614,6 @@
section.
-
- sound.target
-
- This target is started
- automatically as soon as a
- sound card is plugged in or
- becomes available at
- boot.
-
- This may be used to pull
- in audio management daemons
- dynamically when printer
- hardware is found.
-
- suspend.target
@@ -826,19 +672,6 @@
Specification.
-
- time-sync.target
-
- systemd automatically
- adds dependencies of type
- After= for
- this target unit to all SysV
- init script service units with
- an LSB header referring to the
- $time
- facility.
-
- timers.target
@@ -884,6 +717,208 @@
+
+ Special System Units for Devices
+
+ Some target units are automatically pulled in as
+ devices of certain kinds show up in the system. These
+ may be used to automatically activate various services
+ based on the specific type of the available
+ hardware.
+
+
+
+ bluetooth.target
+
+ This target is started
+ automatically as soon as a
+ Bluetooth controller is
+ plugged in or becomes
+ available at boot.
+
+ This may be used to pull
+ in Bluetooth management
+ daemons dynamically when
+ Bluetooth hardware is
+ found.
+
+
+
+ printer.target
+
+ This target is started
+ automatically as soon as a
+ printer is plugged in or
+ becomes available at
+ boot.
+
+ This may be used to pull
+ in printer management
+ daemons dynamically when
+ printer hardware is
+ found.
+
+
+
+ smartcard.target
+
+ This target is started
+ automatically as soon as a
+ smartcard controller is
+ plugged in or becomes
+ available at boot.
+
+ This may be used to pull
+ in printer management
+ daemons dynamically when
+ smartcard hardware is
+ found.
+
+
+
+ sound.target
+
+ This target is started
+ automatically as soon as a
+ sound card is plugged in or
+ becomes available at
+ boot.
+
+ This may be used to pull
+ in audio management daemons
+ dynamically when printer
+ hardware is found.
+
+
+
+
+
+
+ Special Passive System Units
+
+ A number of special system targets are defined
+ that can be used to properly order boot-up of optional
+ services. These targets are generally not part of the
+ initial boot transaction, unless they are explicitly
+ pulled in by one of the implementing services. Note
+ specifically, that these passive
+ target units are generally not pulled in by the
+ consumer of a service, but by the provider of the
+ service. This means: a consuming service should order
+ itself after these targets (as appropriate), but not
+ pull it in. A providing service should order itself
+ before these targets (as appropriate) and pull it in
+ (via a Wants= type
+ dependency).
+
+
+
+ local-fs-pre.target
+
+ This target unit is
+ automatically ordered before
+ all local mount points marked
+ with
+ (see above). It can be used to
+ execute certain units before
+ all local mounts.
+
+
+
+ nss-lookup.target
+
+ A target that should be
+ used as synchronization point
+ for all host/network name
+ service lookups. Note that
+ this is independent of
+ user/group name lookups for
+ which
+ nss-user-lookup.target
+ should be used. systemd
+ automatically adds
+ dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $named
+ facility.
+
+
+
+ nss-user-lookup.target
+
+ A target that should be
+ used as synchronization point
+ for all user/group name
+ service lookups. Note that
+ this is independent of
+ host/network name lookups for
+ which
+ nss-lookup.target
+ should be used.
+
+
+
+ remote-fs-pre.target
+
+ This target unit is
+ automatically ordered before
+ all remote mount point units
+ (see above). It can be used to
+ run certain units before the
+ remote mounts are
+ established. Note that this
+ unit is generally not part of
+ the initial transaction,
+ unless the unit that wants to
+ be ordered before all remote
+ mounts pulls it in via a
+ Wants= type
+ dependency. If the unit wants
+ to be pulled in by the first
+ remote mount showing up it
+ should use
+ remote-fs-setup.target
+ (see above).
+
+ Again, this target unit
+ is not
+ suitable for pulling in other
+ units, it is only useful for
+ ordering.
+
+
+
+ rpcbind.target
+
+ systemd automatically
+ adds dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $portmap
+ facility.
+
+
+
+ time-sync.target
+
+ systemd automatically
+ adds dependencies of type
+ After= for
+ this target unit to all SysV
+ init script service units with
+ an LSB header referring to the
+ $time
+ facility.
+
+
+
+
+
Special User Units