mirror of
https://github.com/systemd/systemd.git
synced 2025-03-28 02:50:16 +03:00
serial: use seperate getty template for serial ttys
This commit is contained in:
parent
addab137cd
commit
93a45c562a
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,7 +2,7 @@ systemd-kmsg-syslogd
|
||||
systemd-remount-api-vfs
|
||||
test-hostname
|
||||
systemd-modules-load
|
||||
systemd-auto-console-getty
|
||||
systemd-auto-serial-getty
|
||||
systemd-shutdownd
|
||||
systemd-random-seed
|
||||
systemd-update-utmp
|
||||
|
20
Makefile.am
20
Makefile.am
@ -73,7 +73,7 @@ rootlibexec_PROGRAMS = \
|
||||
systemd-update-utmp \
|
||||
systemd-random-seed \
|
||||
systemd-shutdownd \
|
||||
systemd-auto-console-getty \
|
||||
systemd-auto-serial-getty \
|
||||
systemd-modules-load \
|
||||
systemd-remount-api-vfs \
|
||||
systemd-kmsg-syslogd
|
||||
@ -171,6 +171,7 @@ dist_systemunit_DATA = \
|
||||
nodist_systemunit_DATA = \
|
||||
units/sysinit.target \
|
||||
units/getty@.service \
|
||||
units/serial-getty@.service \
|
||||
units/graphical.target \
|
||||
units/remote-fs.target \
|
||||
units/multi-user.target \
|
||||
@ -178,7 +179,7 @@ nodist_systemunit_DATA = \
|
||||
units/systemd-logger.service \
|
||||
units/systemd-shutdownd.service \
|
||||
units/systemd-kmsg-syslogd.service \
|
||||
units/systemd-auto-console-getty.service \
|
||||
units/systemd-auto-serial-getty.service \
|
||||
units/systemd-modules-load.service \
|
||||
units/systemd-remount-api-vfs.service \
|
||||
units/systemd-update-utmp-runlevel.service \
|
||||
@ -197,6 +198,7 @@ nodist_sessionunit_DATA = \
|
||||
EXTRA_DIST = \
|
||||
units/sysinit.target.m4 \
|
||||
units/getty@.service.m4 \
|
||||
units/serial-getty@.service.m4 \
|
||||
units/graphical.target.m4 \
|
||||
units/multi-user.target.m4 \
|
||||
units/remote-fs.target.m4 \
|
||||
@ -204,7 +206,7 @@ EXTRA_DIST = \
|
||||
units/systemd-logger.service.in \
|
||||
units/systemd-shutdownd.service.in \
|
||||
units/systemd-kmsg-syslogd.service.in \
|
||||
units/systemd-auto-console-getty.service.in \
|
||||
units/systemd-auto-serial-getty.service.in \
|
||||
units/systemd-modules-load.service.in \
|
||||
units/systemd-remount-api-vfs.service.in \
|
||||
units/systemd-update-utmp-runlevel.service.in \
|
||||
@ -573,15 +575,15 @@ systemd_shutdownd_CFLAGS = \
|
||||
systemd_shutdownd_LDADD = \
|
||||
libsystemd-basic.la
|
||||
|
||||
systemd_auto_console_getty_SOURCES = \
|
||||
src/auto-console-getty.c \
|
||||
systemd_auto_serial_getty_SOURCES = \
|
||||
src/auto-serial-getty.c \
|
||||
src/dbus-common.c
|
||||
|
||||
systemd_auto_console_getty_CFLAGS = \
|
||||
systemd_auto_serial_getty_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
$(DBUS_CFLAGS)
|
||||
|
||||
systemd_auto_console_getty_LDADD = \
|
||||
systemd_auto_serial_getty_LDADD = \
|
||||
libsystemd-basic.la \
|
||||
$(DBUS_LIBS)
|
||||
|
||||
@ -896,14 +898,14 @@ install-data-hook:
|
||||
$(LN_S) $(systemunitdir)/reboot.target ctrl-alt-del.target && \
|
||||
$(LN_S) $(systemunitdir)/rescue.target kbrequest.target )
|
||||
( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
|
||||
rm -f getty@tty1.service getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service systemd-auto-console-getty.service && \
|
||||
rm -f getty@tty1.service getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service systemd-auto-serial-getty.service && \
|
||||
$(LN_S) $(systemunitdir)/getty@.service getty@tty1.service && \
|
||||
$(LN_S) $(systemunitdir)/getty@.service getty@tty2.service && \
|
||||
$(LN_S) $(systemunitdir)/getty@.service getty@tty3.service && \
|
||||
$(LN_S) $(systemunitdir)/getty@.service getty@tty4.service && \
|
||||
$(LN_S) $(systemunitdir)/getty@.service getty@tty5.service && \
|
||||
$(LN_S) $(systemunitdir)/getty@.service getty@tty6.service && \
|
||||
$(LN_S) $(systemunitdir)/systemd-auto-console-getty.service systemd-auto-console-getty.service )
|
||||
$(LN_S) $(systemunitdir)/systemd-auto-serial-getty.service systemd-auto-serial-getty.service )
|
||||
( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
|
||||
rm -f getty.target remote-fs.target && \
|
||||
$(LN_S) $(systemunitdir)/getty.target getty.target && \
|
||||
|
@ -42,7 +42,7 @@ static int spawn_getty(DBusConnection *bus, const char *console) {
|
||||
assert(console);
|
||||
|
||||
/* FIXME: we probably should escape the tty name properly here */
|
||||
if (asprintf(&name, "getty@%s.service", console) < 0)
|
||||
if (asprintf(&name, "serial-getty@%s.service", console) < 0)
|
||||
return -ENOMEM;
|
||||
|
||||
if (!(m = dbus_message_new_method_call("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "StartUnit"))) {
|
||||
@ -115,7 +115,7 @@ static int parse_proc_cmdline(char **console) {
|
||||
|
||||
assert(console);
|
||||
|
||||
if ((r = read_one_line_file("/tmp/cmdline", &line)) < 0) {
|
||||
if ((r = read_one_line_file("/proc/cmdline", &line)) < 0) {
|
||||
log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
|
||||
return 0;
|
||||
}
|
1
units/.gitignore
vendored
1
units/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
serial-getty@.service
|
||||
systemd-kmsg-syslogd.service
|
||||
systemd-modules-load.service
|
||||
systemd-remount-api-vfs.service
|
||||
|
@ -30,7 +30,7 @@ Before=getty.target
|
||||
|
||||
[Service]
|
||||
Environment=TERM=linux
|
||||
ExecStart=GETTY %I
|
||||
ExecStart=-GETTY %I
|
||||
Restart=restart-always
|
||||
RestartSec=0
|
||||
KillMode=process-group
|
||||
|
37
units/serial-getty@.service.m4
Normal file
37
units/serial-getty@.service.m4
Normal file
@ -0,0 +1,37 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
Description=Serial Getty on %I
|
||||
Requires=dev-%i.device
|
||||
After=dev-%i.device
|
||||
m4_ifdef(`TARGET_FEDORA',
|
||||
After=rc-local.service
|
||||
)m4_dnl
|
||||
m4_ifdef(`TARGET_ARCH',
|
||||
After=rc-local.service
|
||||
)m4_dnl
|
||||
|
||||
# If additional gettys are spawned during boot (possibly by
|
||||
# systemd-auto-console-getty) 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
|
||||
|
||||
[Service]
|
||||
Environment=TERM=vt100-nav
|
||||
m4_ifdef(`TARGET_FEDORA',
|
||||
ExecStartPre=-/sbin/securetty %I
|
||||
)m4_dnl
|
||||
ExecStart=-/sbin/agetty -s %I 115200,38400,9600
|
||||
Restart=restart-always
|
||||
RestartSec=0
|
||||
KillMode=process-group
|
||||
|
||||
# Some login implementations ignore SIGTERM, so we send SIGHUP
|
||||
# instead, to ensure that login terminates cleanly.
|
||||
KillSignal=SIGHUP
|
@ -6,11 +6,11 @@
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
Description=Automatically Spawn getty on Kernel Console
|
||||
Description=Automatically Spawn getty on Serial Kernel Console
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=@rootlibexecdir@/systemd-auto-console-getty
|
||||
ExecStart=@rootlibexecdir@/systemd-auto-serial-getty
|
||||
|
||||
[Install]
|
||||
WantedBy=getty.target
|
Loading…
x
Reference in New Issue
Block a user