container: spawn a getty instead of a sulogin in a container

This commit is contained in:
Lennart Poettering 2012-04-22 02:15:22 +02:00
parent cc1368e3b3
commit 337eebb936
4 changed files with 51 additions and 1 deletions

View File

@ -304,6 +304,7 @@ nodist_systemunit_DATA = \
units/getty@.service \
units/serial-getty@.service \
units/console-shell.service \
units/console-getty.service \
units/systemd-initctl.service \
units/systemd-shutdownd.service \
units/systemd-modules-load.service \
@ -339,6 +340,7 @@ EXTRA_DIST += \
units/getty@.service.m4 \
units/serial-getty@.service.m4 \
units/console-shell.service.m4.in \
units/console-getty.service.m4.in \
units/rescue.service.m4.in \
units/systemd-initctl.service.in \
units/systemd-shutdownd.service.in \

View File

@ -116,7 +116,7 @@ int main(int argc, char *argv[]) {
if (detect_container(NULL) > 0) {
log_debug("Automatically adding console shell.");
if (add_symlink("console-shell.service", "console-shell.service") < 0)
if (add_symlink("console-getty.service", "console-getty.service") < 0)
r = EXIT_FAILURE;
/* Don't add any further magic if we are in a container */

1
units/.gitignore vendored
View File

@ -1,3 +1,4 @@
/console-getty.service
/systemd-journald.service
user@.service
systemd-logind.service

View File

@ -0,0 +1,47 @@
# 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=Console Getty
After=systemd-user-sessions.service plymouth-quit-wait.service
m4_ifdef(`TARGET_FEDORA',
After=rc-local.service
)m4_dnl
m4_ifdef(`TARGET_ARCH',
After=rc-local.service
)m4_dnl
m4_ifdef(`TARGET_FRUGALWARE',
After=local.service
)m4_dnl
m4_ifdef(`TARGET_ALTLINUX',
After=rc-local.service
)m4_dnl
m4_ifdef(`TARGET_MANDRIVA',
After=rc-local.service
)m4_dnl
m4_ifdef(`TARGET_MAGEIA',
After=rc-local.service
)m4_dnl
Before=getty.target
[Service]
ExecStart=-/sbin/agetty --noclear -s console 115200,38400,9600
Restart=always
RestartSec=0
UtmpIdentifier=cons
TTYPath=/dev/console
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
# terminates cleanly.
KillSignal=SIGHUP
[Install]
WantedBy=getty.target