From: Christian Hofstaedtler Date: Tue, 26 Oct 2010 19:44:56 +0000 (+0200) Subject: fix handling of multiple console= options X-Git-Tag: v0.9.15~1 X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=commitdiff_plain;h=a9ef28a9082b24866dcbd5769dcc6c51f09b4ec3 fix handling of multiple console= options multiple console= options are valid, and config_console should only act for ttySx serial consoles, and it must do so in an idempotent way. [Closes: issue916] --- diff --git a/autoconfig.functions b/autoconfig.functions index 7f8bc9d..a28b1f5 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -596,11 +596,7 @@ if checkbootparam 'console'; then local serial="$this" local device="${this%%,*}" local device="${device##*=}" - if ! echo $serial | grep -q ttyS ; then - ewarn "Warning: console=ttyS... not specified as last console= option. Falling back to set up ttyS0/9600." - sed -i "/^#grmlserial#/iT0:23:respawn:/bin/bash -c \"/sbin/getty -L /dev/ttyS0 -l /usr/bin/zsh-login 9600 vt100 || sleep 30\"" /etc/inittab - eend 0 - else + if echo $serial | grep -q ttyS ; then local option="${serial##*,}" # default (works for kvm & CO): local speed="115200,57600,38400,19200,9600,4800,2400,1200"; @@ -615,14 +611,14 @@ if checkbootparam 'console'; then 2400*) speed=2400 ;; 1200*) speed=1200 ;; esac + eindent + einfo "Activating console login on device ${device} with speed ${speed}." + local number="${device#ttyS}" + sed -i "/^T$number:/d;/^#grmlserial#/iT$number:23:respawn:/bin/bash -c \"/sbin/getty -L $device -l /usr/bin/zsh-login $speed vt100 || sleep 30\"" /etc/inittab + eend $? + telinitq="1" + eoutdent fi - eindent - einfo "Activating console login on device ${device} with speed ${speed}." - local number="${device#ttyS}" - sed -i "/^#grmlserial#/iT$number:23:respawn:/bin/bash -c \"/sbin/getty -L $device -l /usr/bin/zsh-login $speed vt100 || sleep 30\"" /etc/inittab - eend $? - telinitq="1" - eoutdent ;; esac this="${line%%[$ws]*}"