# 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 -l /sbin/qubes_serial_login /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