From 79b2b232cb34f7df3e440968240975e44c4b8fc7 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 3 Dec 2009 14:29:21 -0500 Subject: Move to new upstart job location and file extension. --- init/serial.conf | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 init/serial.conf (limited to 'init/serial.conf') diff --git a/init/serial.conf b/init/serial.conf new file mode 100644 index 00000000..660e93bd --- /dev/null +++ b/init/serial.conf @@ -0,0 +1,42 @@ +# Automatically start a configured serial console +# +# How this works: +# +# On boot, a udev helper examines /dev/console. If a serial console is the +# primary console (last console on the commandline in grub), the event +# 'fedora.serial-console-available ' is emitted, which +# triggers this script. It waits for the runlevel to finish, ensures +# the proper port is in /etc/securetty, and starts the getty. +# +# If your serial console is not the primary console, or you want a getty +# on serial even if it's not the console, create your own event by copying +# /etc/event.d/tty[2-6], and changing the getty line in that file. + +start on fedora.serial-console-available * +stop on runlevel [016] + +instance +pre-start script + while /bin/true ; do + LANG=C /sbin/initctl status rcS | grep -wq "rcS (stop) waiting" && break + sleep 1 + done + while /bin/true ; do + runlevel=$(/sbin/runlevel | /bin/awk '{ print $2 }') + case "$runlevel" in + 2|3|4|5) + LANG=C /sbin/initctl status rc$runlevel | grep -wq "rc$runlevel (stop) waiting" && break + ;; + *) + ;; + esac + sleep 1 + done + /sbin/securetty $1 +end script +exec /sbin/agetty /dev/$1 $2 vt100-nav +post-stop script + if [ "$UPSTART_EVENT" != "${UPSTART_EVENT##fedora.serial-console-available}" ]; then + initctl emit --no-wait fedora.serial-console-available $1 $2 + fi +end script -- cgit v1.2.1