boot_console
—
selection of a console device in the x86 bootloader
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.
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.
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.
- src/sys/arch/i386/stand/{boot,pxeboot}/Makefile
- compile time options for the boot programs.
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).