Serial console

From eLinux.org
Jump to: navigation, search

Often, embedded development boards and products do not have normal displays that are available for kernel console messages. This is especially true during the early stages of getting a new kernel running on a board. Therefore, it is very common to boot a kernel using a "serial console". That is, the console messages, and the ability to log in to the newly running kernel are provided via a serial connection to the development board (rather than via a VGA screen and keyboard combination, which is the default for desktop versions of Linux).

To use a serial console, you must have a kernel with the necessary serial port driver configured in, and you must boot the kernel and specify to use a serial console on boot.

The kernel configuration options to support this are (usually):

  • CONFIG_SERIAL_8250=y
    • other serial ports are also supported, but this is the most common serial UART hardware
  • CONFIG_SERIAL_8250_CONSOLE=y

An example kernel command line option to specify the serial console (and it's settings) are:

  • console=ttyS0,115200n8

This option tells the kernel to use ttyS0 (the first serial port), with settings of speed=115200 cps, no stop bits and 8 data bits. The serial ports of the host and the target should be configured to match in terms of the speed, stop bits and data bits. Minicom is a common serial communications program used on host machines for accessing the console from the host.


some example serial console configurations:

* JuiceBox Serial Console
* Hammer Board Serial Console
* Raspberry Pi
* ZipIt Serial Console