By default agetty will not display /run/issue.d/ if /etc/issue exists. This is quite unfortunate and has actually been fixed upstream in: https://github.com/util-linux/util-linux/commit/508fb0e7ac103b68531a59db2a4473897853ab52 However, no release has been tagged with this yet, and it doesn't look like this will happen any time soon. Hence, for now, let's add a work-around and manually override the issue files to include. This should be reverted once a new util-linux/agetty release has been tagged, and found its way into the relevant distributions. Given this is mostly about cosmetics we do not have to precisely sync the package updates on this, but only roughly.
66 lines
2.1 KiB
Plaintext
66 lines
2.1 KiB
Plaintext
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# 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=Getty on %I
|
|
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
|
Documentation=https://0pointer.de/blog/projects/serial-console.html
|
|
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
|
{% if HAVE_SYSV_COMPAT %}
|
|
After=rc-local.service
|
|
{% endif %}
|
|
|
|
# If additional gettys are spawned during boot then we should make
|
|
# sure that this is synchronized before getty.target, even though
|
|
# getty.target didn't actually pull it in.
|
|
Before=getty.target
|
|
IgnoreOnIsolate=yes
|
|
|
|
# IgnoreOnIsolate causes issues with sulogin, if someone isolates
|
|
# rescue.target or starts rescue.service from multi-user.target or
|
|
# graphical.target.
|
|
Conflicts=rescue.service
|
|
Before=rescue.service
|
|
|
|
# On systems without virtual consoles, don't start any getty. Note
|
|
# that serial gettys are covered by serial-getty@.service, not this
|
|
# unit.
|
|
ConditionPathExists=/dev/tty0
|
|
|
|
[Service]
|
|
ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM}
|
|
Type=idle
|
|
Restart=always
|
|
RestartSec=0
|
|
UtmpIdentifier=%I
|
|
StandardInput=tty
|
|
StandardOutput=tty
|
|
TTYPath=/dev/%I
|
|
TTYReset=yes
|
|
TTYVHangup=yes
|
|
TTYVTDisallocate=yes
|
|
{% if not ENABLE_LOGIND %}
|
|
KillMode=process
|
|
{% endif %}
|
|
IgnoreSIGPIPE=no
|
|
SendSIGHUP=yes
|
|
ImportCredential=tty.virtual.%I.agetty.*:agetty.
|
|
ImportCredential=tty.virtual.%I.login.*:login.
|
|
ImportCredential=agetty.*
|
|
ImportCredential=login.*
|
|
ImportCredential=shell.*
|
|
|
|
# Unset locale for the console getty since the console has problems
|
|
# displaying some internationalized messages.
|
|
UnsetEnvironment=LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
|
|
|
|
[Install]
|
|
WantedBy=getty.target
|
|
DefaultInstance=tty1
|