units: add remote-cryptsetup.target and remote-cryptsetup-pre.target

The pair is similar to remote-fs.target and remote-fs-pre.target. Any
cryptsetup devices which require network shall be ordered after
remote-cryptsetup-pre.target and before remote-cryptsetup.target.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-09-05 10:15:13 +02:00
parent 0f00528db4
commit 889128b8b2
6 changed files with 53 additions and 2 deletions

View File

@ -82,6 +82,8 @@
<filename>poweroff.target</filename>,
<filename>printer.target</filename>,
<filename>reboot.target</filename>,
<filename>remote-cryptsetup-pre.target</filename>,
<filename>remote-cryptsetup.target</filename>,
<filename>remote-fs-pre.target</filename>,
<filename>remote-fs.target</filename>,
<filename>rescue.target</filename>,
@ -477,6 +479,27 @@
this target unit, for compatibility with SysV.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>remote-cryptsetup-pre.target</filename></term>
<listitem>
<para>This target unit is automatically ordered before all cryptsetup devices
marked with the <option>_netdev</option>. It can be used to execute additional
units before such devices are set up.</para>
<para>It is ordered after <filename>network.target</filename> and
<filename>network-online.target</filename>, and also pulls the latter in as a
<varname>Wants=</varname> dependency.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>remote-cryptsetup.target</filename></term>
<listitem>
<para>Similar to <filename>cryptsetup.target</filename>, but for encrypted
devices which are accessed over the network. It is used for
<citerefentry><refentrytitle>crypttab</refentrytitle><manvolnum>8</manvolnum></citerefentry>
entries marked with <option>_netdev</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>remote-fs.target</filename></term>
<listitem>

View File

@ -6,7 +6,7 @@
# (at your option) any later version.
[Unit]
Description=Encrypted Volumes (Pre)
Description=Local Encrypted Volumes (Pre)
Documentation=man:systemd.special(7)
RefuseManualStart=yes
Before=cryptsetup.target

View File

@ -6,5 +6,5 @@
# (at your option) any later version.
[Unit]
Description=Encrypted Volumes
Description=Local Encrypted Volumes
Documentation=man:systemd.special(7)

View File

@ -48,6 +48,9 @@ units = [
['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'],
['reboot.target', '',
'runlevel6.target ctrl-alt-del.target'],
['remote-cryptsetup-pre.target', 'HAVE_LIBCRYPTSETUP'],
['remote-cryptsetup.target', 'HAVE_LIBCRYPTSETUP',
join_paths(pkgsysconfdir, 'system/multi-user.target.wants/')],
['remote-fs-pre.target', ''],
['remote-fs.target', '',
join_paths(pkgsysconfdir, 'system/multi-user.target.wants/')],

View File

@ -0,0 +1,15 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Remote Encrypted Volumes (Pre)
Documentation=man:systemd.special(7)
RefuseManualStart=yes
Before=remote-cryptsetup.target
After=network.target network-online.target
Wants=network-online.target

View File

@ -0,0 +1,10 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Remote Encrypted Volumes
Documentation=man:systemd.special(7)