[arch-releng] Working on network-based install stuff
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 -- 1.7.4.1
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. -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
participants (2)
-
Gerardo Exequiel Pozzi
-
Simo Leone