Chapter 5. Configure Linux
kernel
The Linux kernel is
configured to select the console by passing it the
console parameter. The
console parameter can be given repeatedly, but
the parameter can only be given once for each console technology.
So console=tty0 console=lp0 console=ttyS0 is
acceptable but console=ttyS0 console=ttyS1 will
not work.
When multiple consoles are listed output is sent to all
consoles and input is taken from the last listed console. The last
console is the one Linux uses as the /dev/console device.
The syntax of the console parameter is
given in Figure 5-1.
<serial_port> is the number
of the serial port. This is defined in Figure 4-2 and discussed in Section 2.2. The examples in this
HOWTO use the first serial port, giving
<serial_port> the value
0, which in turn gives kernel parameter
console=ttyS0.
If you are using the devfs device
filesystem with your Linux installation the kernel parameter for the
first serial port is still ttyS0, even though the
first serial device is no longer known as /dev/ttyS0 but as /dev/ttys/0.
<mode> is defined in Figure 2-7 and is discussed in Section 2.3. The examples in this
HOWTO use 9600 bits per second, one start
bit, eight data bits, no parity, one stop bit, and no
CTS/RTS flow control giving
<mode> the value of
9600n8. When the current kernel flow control
bugs are corrected this HOWTO will once again
recommend the value 9600n8r.
<usb_port> can specify the
address of a USB dongle containing a serial port
to be used as a serial console.
For example, the serial port console=ttyS0,9600n8
when moved to a USB serial dongle would be
written as console=ttyUSB0,9600n8. The
USB subsystem is started rather late in the boot
process, console messages printed during boot before the
USB subsystem is loaded will be lost.
With no console parameter the kernel will
use the first virtual terminal, which is /dev/tty0. A user at the keyboard
uses this virtual terminal by pressing
Ctrl-Alt-F1.
If your computer contains a video card then we suggest that
you also configure it as a console. This is done with the kernel
parameter console=tty0.
For computers with both a video card and a serial console in
the port marked "COM1:" this
HOWTO suggests the kernel parameters:
Kernel messages will appear on both the first virtual terminal
and the serial port. Messages from the
init system and the system logger will
appear only on the first serial port. This can be slightly
confusing when looking at the attached monitor: the machine will
appear to boot and then hang. Don't panic, the
init system has started but is now
printing messages to the serial port but is printing nothing to the
screen. If a getty has been configured
then a login: prompt will
eventually appear on the attached monitor.
For PCs without a video card, this
HOWTO suggests the kernel parameters:
These parameters are passed to the booting kernel by the boot
loader. Next we will configure the boot loader used by your
Linux installation to pass
the console parameters to the kernel.