X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=0b9d51d609d6ca501d91f9f9854fb046b3303648;hp=73cc32e14625f5441b2dece8f840b3389b40edda;hb=a6778d50b7a687d1286058597599752b497cc6d1;hpb=92893ee01a683f5853c57aca1ea5c2a0c541fd26 diff --git a/autoconfig.functions b/autoconfig.functions index 73cc32e..0b9d51d 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -575,8 +575,38 @@ fi # activate serial console {{{ config_console(){ if checkbootparam 'console'; then - einfo "Bootoption for serial console detected, activating console login." - sed -i 's/^#grmlserial#//' /etc/inittab + einfo "Bootoption for serial console detected:" + + local serial="$(getbootparam console)" + if ! echo $serial | grep -q ttyS ; then + ewarn "Warning: console=ttyS... not specified as last console= option. Falling back to defaults." + eend 0 + local speed="9600" + else + local option="${serial##*,}" + # default (works for kvm & CO): + local speed="115200,57600,38400,19200,9600,4800,2400,1200"; + # ... unless overriden by command line: + case "$option" in + 115200*) speed=115200 ;; + 57600*) speed=57600 ;; + 38400*) speed=38400 ;; + 19200*) speed=19200 ;; + 9600*) speed=9600 ;; + 4800*) speed=4800 ;; + 2400*) speed=2400 ;; + 1200*) speed=1200 ;; + esac + fi + + eindent + einfo "Setting baud rate to ${speed}." + sed -i "s/%serialspeed%/$speed/" /etc/inittab ; eend $? + + einfo "Activating console login." + sed -i 's/^#grmlserial#//' /etc/inittab ; eend $? + eoutdent + /sbin/telinit q eend $? fi @@ -1836,20 +1866,19 @@ if checkbootparam 'startx' && ! echo "$CMDLINE" | grep -q 'startx.*nostartx' ; t else einfo "Window manager ${WHITE}${WINDOWMANAGER}${NORMAL} found as bootoption." && eend 0 fi - einfo "Changing to runlevel 5 for starting grml-x ${WINDOWMANAGER}. Just exit X windows system to get full featured consoles." + einfo "Setting up and invoking grml-x ${WINDOWMANAGER}. Just exit X windows system to get full featured consoles." config_userfstab || fstabuser='grml' cat>|/etc/init.d/xstartup<>$DEBUG +su $fstabuser -c "/usr/bin/grml-x $WINDOWMANAGER" EOF chmod 755 /etc/init.d/xstartup # adjust inittab for xstartup if grep -q '^6:' /etc/inittab ; then - sed -i 's|^6:.*|6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /bin/zsh"|' /etc/inittab + sed -i 's|^6:.*|6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/bin/zsh-login" >/dev/tty6 2>\&1 > /etc/inittab + echo '6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/bin/zsh-login" >/dev/tty6 2>&1 < /dev/tty6' >> /etc/inittab fi /sbin/telinit q ; eend $?