[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] Add support for systemd autologin on tty1



Based on the sysvinit components script.
---
 components/0161-systemd | 84 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100755 components/0161-systemd

diff --git a/components/0161-systemd b/components/0161-systemd
new file mode 100755
index 0000000..46b526c
--- /dev/null
+++ b/components/0161-systemd
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+## live-config(7) - System Configuration Components
+## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
+## Copyright (C)      2015 Daniel Gollub <dgollub@brocade.com>
+##
+## 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.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
+		mkdir -p /etc/systemd/system/getty@tty1.service.d/
+		cat << EOF > /etc/systemd/system/getty@tty1.service.d/autologin.conf
+[Service]
+Type=idle
+ExecStart=
+ExecStart=-/sbin/agetty --autologin ${LIVE_USERNAME} --noclear %I 38400 linux
+EOF
+		systemctl daemon-reload
+		systemctl restart getty@tty1.service
+
+	fi
+
+	# Creating state file
+	touch /var/lib/live/config/systemd
+}
+
+Cmdline
+Init
+Config
-- 
1.9.1


Reply to: