units: introduce getty-pre.target (#6667)
authorMichal Sekletar <msekletar@users.noreply.github.com>
Thu, 31 Aug 2017 09:20:14 +0000 (11:20 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 31 Aug 2017 09:20:14 +0000 (11:20 +0200)
This new target is a passive unit, hence it is supposed to be pulled in
to the transaction by the service that wants to block login on the
console (e.g. text version of initial-setup). Now both getty and
serial-getty are ordered after this target.

https://lists.freedesktop.org/archives/systemd-devel/2015-July/033754.html

man/systemd.special.xml
units/getty-pre.target [new file with mode: 0644]
units/getty@.service.m4
units/meson.build
units/serial-getty@.service.m4

index 8522ff0..b4ed3eb 100644 (file)
@@ -59,6 +59,7 @@
     <filename>exit.target</filename>,
     <filename>final.target</filename>,
     <filename>getty.target</filename>,
+    <filename>getty-pre.target</filename>,
     <filename>graphical.target</filename>,
     <filename>halt.target</filename>,
     <filename>hibernate.target</filename>,
         </listitem>
       </varlistentry>
       <varlistentry>
+        <term><filename>getty-pre.target</filename></term>
+        <listitem>
+          <para>A special passive target unit. Users of this target
+          are expected to pull it in the boot transaction via
+          a dependency (e.g. <varname>Wants=</varname>). Order your
+          unit before this unit if you want to make use of the console
+          just before <filename>getty</filename> is started.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
         <term><filename>graphical.target</filename></term>
         <listitem>
           <para>A special target unit for setting up a graphical login
diff --git a/units/getty-pre.target b/units/getty-pre.target
new file mode 100644 (file)
index 0000000..f6c78b6
--- /dev/null
@@ -0,0 +1,11 @@
+#  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=Login Prompts (Pre)
+Documentation=man:systemd.special(7) man:systemd-getty-generator(8)
+Documentation=http://0pointer.de/blog/projects/serial-console.html
index 2a84061..b62f1b9 100644 (file)
@@ -9,7 +9,7 @@
 Description=Getty on %I
 Documentation=man:agetty(8) man:systemd-getty-generator(8)
 Documentation=http://0pointer.de/blog/projects/serial-console.html
-After=systemd-user-sessions.service plymouth-quit-wait.service
+After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
 m4_ifdef(`HAVE_SYSV_COMPAT',
 After=rc-local.service
 )m4_dnl
index 07b8a9d..be32a39 100644 (file)
@@ -13,6 +13,7 @@ units = [
         ['final.target',                        ''],
         ['getty.target',                        '',
          'multi-user.target.wants/'],
+        ['getty-pre.target',                    ''],
         ['graphical.target',                    '',
          'runlevel5.target default.target'],
         ['halt.target',                         ''],
index b7caeaf..e56f476 100644 (file)
@@ -10,7 +10,7 @@ Description=Serial Getty on %I
 Documentation=man:agetty(8) man:systemd-getty-generator(8)
 Documentation=http://0pointer.de/blog/projects/serial-console.html
 BindsTo=dev-%i.device
-After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
+After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
 m4_ifdef(`HAVE_SYSV_COMPAT',
 After=rc-local.service
 )m4_dnl