Re: serial console and kernel 2.4

James Bottomley
2001-07-30T15:21:29Z

> I recently upgraded a linux box to the kernel 2.4.4 (from 2.2.18).
> This box has no display and use the serial console. Since the upgrade
> I can see the boot output on the remote console but I can't use the
> keyboard. Each time I press a key, an interrupt is seen by the
> no-display machine but no char appears in the console. Today I've
> upgraded an another box to 2.4.7 with a similar setup and I've the
> same problem.

> Is there something that I'm missing ? (something new with the kernel
> 2.4 that is required for a serial console that was not required with
> the 2.2 ?)

I hate to send an email which says "it works for me", but it does (all the way
up to 2.4.7).

However, one of the things to remember about the serial console is that it is
primarily designed for *output*. If you see the boot messages, then it's
doing its job correctly. Things like kdb and sysrq can accept input from the
serial console, but usually only if something else (like getty) has opened it
first.

My setup (on RedHat 7.1) looks like this

In /etc/lilo.conf

# make lilo output to serial console
serial=0,9600n8

# for each kernel add this line
append="console=ttyS0,9600n8 console=tty0"

Note, the above append causes /dev/console to be /dev/tty0 (the virtual
console). If you want to see all the boot messages you need /dev/ttyS0 to be
/dev/console and you should reverse the two console statements in this line.

In /etc/inittab:

S:0123456:respawn:/sbin/mingetty --noclear ttyS0

With this setup I can activate sysrq and kdb from the serial console.

Note also that different distributions have different ways of handling the
system console; you might also have to disable the special distribution
handling on a non-RedHat system.

James Bottomley