[arch-releng] [PATCH] Start agetty on kernel cmdline-provided console

Simo Leone leone.simo at gmail.com
Thu Mar 3 05:53:02 EST 2011


This makes interactive installations over serial consoles possible with
nothing more than specifying the console= kernel parameter.
---
 configs/syslinux-iso/overlay/etc/rc.d/archiso |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/configs/syslinux-iso/overlay/etc/rc.d/archiso b/configs/syslinux-iso/overlay/etc/rc.d/archiso
index e1b5997..15653b5 100755
--- a/configs/syslinux-iso/overlay/etc/rc.d/archiso
+++ b/configs/syslinux-iso/overlay/etc/rc.d/archiso
@@ -26,11 +26,32 @@ do_fix_perms ()
     stat_done
 }
 
+# If an alternate console was specified on the kernel command line,
+# start agetty on it too.
+do_special_console()
+{
+    cmdline_console="$(kernel_cmdline console)"
+    [ $? -ne 0 ] && return
+
+    dev="${cmdline_console%%,*}"
+    args="${cmdline_console##*,}"
+    baud="${args%%[neo]*}" && baud="${baud:-"9600"}"
+    [ "x${args}" != "x${args%%r}" ] && rts="-h"
+
+
+    stat_busy "Starting agetty on console: ${cmdline_console}"
+    echo "${dev}" >> /etc/securetty
+    echo "s0:2345:respawn:/sbin/agetty ${rts} ${baud} ${dev} linux" >> /etc/inittab
+    /sbin/telinit q
+    stat_done
+}
+
 case "$1" in
   start)
     do_locale_gen
     do_makeuser
     do_fix_perms
+    do_special_console
     ;;
 esac
 exit 0
-- 
1.7.4.1



More information about the arch-releng mailing list