summaryrefslogtreecommitdiffstats
path: root/system-config/components/0170-systemd
diff options
context:
space:
mode:
Diffstat (limited to 'system-config/components/0170-systemd')
-rwxr-xr-xsystem-config/components/0170-systemd96
1 files changed, 96 insertions, 0 deletions
diff --git a/system-config/components/0170-systemd b/system-config/components/0170-systemd
new file mode 100755
index 0000000..42999bc
--- /dev/null
+++ b/system-config/components/0170-systemd
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+## live-config(7) - System Configuration Components
+## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
+##
+## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
+## This is free software, and you are welcome to redistribute it
+## under certain conditions; see COPYING for details.
+
+
+#set -e
+
+Cmdline ()
+{
+ # Reading kernel command line
+ for _PARAMETER in ${LIVE_CONFIG_CMDLINE}
+ do
+ case "${_PARAMETER}" in
+ live-config.debug|debug)
+ LIVE_CONFIG_DEBUG="true"
+ ;;
+
+ live-config.noautologin|noautologin)
+ LIVE_CONFIG_NOAUTOLOGIN="true"
+ ;;
+
+ live-config.nottyautologin|nottyautologin)
+ LIVE_CONFIG_NOTTYAUTOLOGIN="true"
+ ;;
+
+ live-config.username=*|username=*)
+ LIVE_USERNAME="${_PARAMETER#*username=}"
+ ;;
+ esac
+ done
+}
+
+Init ()
+{
+ # Disables both console and graphical autologin.
+ case "${LIVE_CONFIG_NOAUTOLOGIN}" in
+ true)
+ exit 0
+ ;;
+ esac
+
+ # Disables console autologin, no matter what mechanism
+ case "${LIVE_CONFIG_NOTTYAUTOLOGIN}" in
+ true)
+ exit 0
+ ;;
+ esac
+
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/systemd.list ] || \
+ [ -e /var/lib/live/config/systemd ]
+ then
+ exit 0
+ fi
+
+ echo -n " systemd"
+}
+
+Config ()
+{
+ # Configure autologin
+ if [ -n "${LIVE_USERNAME}" ]
+ then
+ for NUMBER in $(seq 1 6)
+ do
+ mkdir -p /etc/systemd/system/getty@tty${NUMBER}.service.d
+
+cat > /etc/systemd/system/getty@tty${NUMBER}.service.d/live-config_autologin.conf << EOF
+[Service]
+Type=idle
+ExecStart=
+ExecStart=-/sbin/agetty --autologin ${LIVE_USERNAME} --noclear %I \$TERM
+EOF
+
+ case "${LIVE_CONFIG_DEBUG}" in
+ true)
+ echo "TTYVTDisallocate=no" >> /etc/systemd/system/getty@tty${NUMBER}.service.d/live-config_autologin.conf
+ ;;
+ esac
+ done
+
+ systemctl --no-block daemon-reload
+ fi
+
+ # Creating state file
+ touch /var/lib/live/config/systemd
+}
+
+Cmdline
+Init
+Config