mirror of
https://github.com/systemd/systemd
synced 2024-11-05 18:25:39 +00:00
b4bf9007cb
If the tty arg is set to "-", agetty uses the stdin fd as the tty. Let's pass the tty this way so that we keep an fd open to the tty at all times. If all fd's to a tty are closed, the kernel might reset the tty which we want to avoid.
52 lines
1.6 KiB
SYSTEMD
52 lines
1.6 KiB
SYSTEMD
# 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=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 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
|
|
|
|
[Service]
|
|
# The '-o' option value tells agetty to replace 'login' arguments with an
|
|
# option to preserve environment (-p), followed by '--' for safety, and then
|
|
# the entered username.
|
|
ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM
|
|
Type=idle
|
|
Restart=always
|
|
UtmpIdentifier=%I
|
|
StandardInput=tty
|
|
StandardOutput=tty
|
|
TTYPath=/dev/%I
|
|
TTYReset=yes
|
|
TTYVHangup=yes
|
|
{% if not ENABLE_LOGIND %}
|
|
KillMode=process
|
|
{% endif %}
|
|
IgnoreSIGPIPE=no
|
|
SendSIGHUP=yes
|
|
|
|
[Install]
|
|
WantedBy=getty.target
|