diff options
author | Simo Leone <leone.simo@gmail.com> | 2011-03-03 02:53:02 -0800 |
---|---|---|
committer | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2011-03-20 16:09:39 -0300 |
commit | d812cc131ee23cfe234f6f2e6137427afbeebb31 (patch) | |
tree | 63604de5001bbe33f45c6aae41d0a2779aa90608 /configs | |
parent | daf622d948ed216e3d2d91df14d3945ba5bbfe7c (diff) | |
download | archiso32-d812cc131ee23cfe234f6f2e6137427afbeebb31.tar.xz |
Start agetty on kernel cmdline-provided console
This makes interactive installations over serial consoles possible with
nothing more than specifying the console= kernel parameter.
Changed inittab id "s0" -> "z0" to avoid conflict with line ttyS0. (Gerardo)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Diffstat (limited to 'configs')
-rwxr-xr-x | 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 435152a..bbe71bf 100755 --- a/configs/syslinux-iso/overlay/etc/rc.d/archiso +++ b/configs/syslinux-iso/overlay/etc/rc.d/archiso @@ -86,11 +86,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 "z0: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 |