It's a bit of a pain if all you have is IPMI or something to work over (actually.. you can't do anything at all). I'll be sending a patch soon to start agetty on whatever is specified as the console kernel parameter.
-S
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
On 03/03/2011 07:53 AM, Simo Leone wrote:
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
Pushed to master.
Not tested here.
arch-releng@lists.archlinux.org