BOOT_CONSOLE(8) | System Manager's Manual (x86) | BOOT_CONSOLE(8)

# NAME

`boot_console` —
selection of a console device in the x86 bootloader

# DESCRIPTION

The NetBSD x86 bootloader selects a console device for its user interaction and passes information about it to the NetBSD kernel. When booting from the system BIOS, the console device and properties are saved in the primary bootstrap by installboot(8). For other boot procedures (such as x86/dosboot(8)) the selection process is controlled by bootloader compile-time options and system setup at the bootloader startup time. The selection may be changed on-the-fly from within the bootloader.

## Serial Console Options

The compile-time options (to be set in the booter's “Makefile”) are:

SUPPORT_SERIAL=policy
  enables support for serial input/output. By default this option is not set and the standard PC keyboard and display are always used as the console device. See Console Selection Policy below for valid values of policy.
DIRECT_SERIAL
  causes direct hardware access to be used for serial input / output. With this option, software handshake (XON/XOFF) is used for flow control. Without this option, BIOS functions are employed for serial port handling, which require hardware handshake lines to be completely wired.
CONSPEED=integer
  sets the baud-rate for the serial console. This option has only an effect when used in combination with the “`DIRECT_SERIAL`” option above, otherwise, the default setting of 9600 baud is used. The value of integer must be something that makes sense as a serial port baud rate.
COMCONS_KEYPRESS
  Require a character input within seven (7) seconds from serial console device to be selected.

## Console Selection Policy

The actual policy for the console selection is determined by the value of “`SUPPORT_SERIAL`” The following options are available:

CONSDEV_PC
  Force use of the standard PC keyboard and display as the console.
CONSDEV_COM0 `...` CONSDEV_COM3
  Use the serial port with the corresponding BIOS number as the console. No attempt is made to verify connectivity on the selected port. If the port is not known to the BIOS, it falls back to “`CONSDEV_PC`”. (Note: This feature can be deliberately used for console selection if the serial ports have been disabled in the BIOS.)
CONSDEV_COM0KBD `...` CONSDEV_COM3KBD
  If the port is known to the BIOS, and output of a character to the port succeeds (and if “`DIRECT_SERIAL`” is defined the RS-232 “modem ready” status is on after the character is output), the port is used as console. If the port is not known to the BIOS, or the test output fails, it falls back to “`CONSDEV_PC`”.
CONSDEV_AUTO
  Auto-select the console. All serial ports known to the BIOS are probed in sequence. If output of a character to the port succeeds (and if “`DIRECT_SERIAL`” is defined the RS-232 “modem ready” status is on after the character is output), the port is used as console. If no serial port passes the check, “`CONSDEV_PC`” is used. The progress of the selection process is shown at the PC display as digits corresponding to the serial port number currently probed.

# FILES

src/sys/arch/i386/stand/{boot,pxeboot}/Makefile
  compile time options for the boot programs.

# SEE ALSO

console(4), installboot(8), x86/boot(8)

# BUGS

The serial communication parameters (byte-size, parity, stop-bits) are not settable (either at compile time or run time). The default parameters are “8 N 1”.

The baud rate is not settable when using BIOS I/O. It should be settable at compile time with “`CONSPEED`” just as it is when using “`DIRECT_SERIAL`”. The default speed is 9600 baud (the maximum for BIOS I/O).

February 17, 2017 | NetBSD 10.1