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