pid1: order units using TTYVHangup= after vconsole setup
The goal of this change is to delay getty services until after
systemd-vconsole-setup has finished. systemd-vconsole-setup starts loadkeys,
and it seems that when loadkeys is interrupted by the TTY hangup call we do
when starting tty services [1], so that loadkeys starts getting EIO from the
ioctl("/dev/tty1", KDSKBENT) syscall it does.
Fixes #26908.
[1] https://github.com/legionus/kbd/issues/92#issuecomment-1554451788
Initially I wanted to add ordering dependencies to individual units, but
TTYVHangup= can be added to other various external units too. The solution with
an implicit dependency should cover those cases too.
This commit is contained in:
@@ -70,8 +70,12 @@
|
||||
|
||||
<listitem><para>Units whose standard output or error output is connected to <option>journal</option> or
|
||||
<option>kmsg</option> (or their combinations with console output, see below) automatically acquire
|
||||
dependencies of type <varname>After=</varname> on
|
||||
<filename>systemd-journald.socket</filename>.</para></listitem>
|
||||
dependencies of type <varname>After=</varname> on <filename>systemd-journald.socket</filename>.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>Units using the terminal (standard input, output, or error are connected to a terminal
|
||||
or <varname>TTYPath=</varname> is used) automatically acquire an <varname>After=</varname> dependency
|
||||
on <filename>systemd-vconsole-setup.service</filename>.</para></listitem>
|
||||
|
||||
<listitem><para>Units using <varname>LogNamespace=</varname> will automatically gain ordering and
|
||||
requirement dependencies on the two socket units associated with
|
||||
|
||||
Reference in New Issue
Block a user