diff --git a/Makefile b/Makefile index d59d734..20fc9f6 100644 --- a/Makefile +++ b/Makefile @@ -65,6 +65,7 @@ install-dirs: @$(INSTALL_DIR) $(DESTDIR)$(SYSTEM_MENU_DIR) @$(INSTALL_DIR) $(DESTDIR)/home/liveuser/ @$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/sudoers.d/ + @$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/systemd/system/ install-icons: @for i in 16x16 22x22 32x32 48x48 64x64 128x128; do \ @@ -75,6 +76,7 @@ install-icons: install: install-dirs install-locales install-icons $(INSTALL_PROGRAM) tools/eject_cd.sh $(DESTDIR)$(sbindir) $(INSTALL_PROGRAM) tools/login.live $(DESTDIR)$(sbindir) + $(INSTALL_DATA) tools/autovt@.service $(DESTDIR)$(sysconfdir)/systemd/system/ $(INSTALL_DATA) installer/config.sample $(DESTDIR)$(sysconfigdir)/installer $(INSTALL_DATA) gpl.html $(DESTDIR)$(installerdatadir)/gpl.html $(INSTALL_DATA) gpl-it.html $(DESTDIR)$(installerdatadir)/gpl-it.html diff --git a/tools/autovt@.service b/tools/autovt@.service new file mode 100644 index 0000000..550e2cb --- /dev/null +++ b/tools/autovt@.service @@ -0,0 +1,49 @@ +# 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=http://0pointer.de/blog/projects/serial-console.html +After=systemd-user-sessions.service plymouth-quit-wait.service +After=rc-local.service + +# 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 + +# 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] +# the VT is cleared by TTYVTDisallocate +ExecStart=-/sbin/agetty --noclear -a liveuser %I 38400 linux +Type=simple +Restart=always +RestartSec=0 +UtmpIdentifier=%I +TTYPath=/dev/%I +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=no +KillMode=process +IgnoreSIGPIPE=no + +# Unset locale for the console getty since the console has problems +# displaying some internationalized messages. +Environment=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= + +# Some login implementations ignore SIGTERM, so we send SIGHUP +# instead, to ensure that login terminates cleanly. +KillSignal=SIGHUP + +[Install] +Alias=getty.target.wants/getty@tty1.service