NAME
boot_console
- selection of a console device in the i386 bootloader
DESCRIPTION
The
NetBSD
i386 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
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
/sys/arch/i386/stand/{bios,dos,net}boot/Makefile
-
compile time options for the boot programs.
SEE ALSO
console(4),
boot(8),
installboot(8)
BUGS
The value of
SERIAL_POLICY
should be settable through a boot configuration option.
However traditionally there was no non-volatile storage available on the
PC platform.
This requires console auto-selection methods which can be
inconvenient and/or unstable in some situations.
The selection policy should be adapted to the local hardware configuration,
which might require code changes.
(Some BIOS versions, particularly those used on
large servers and in embedded and single-board industrial computers,
have integrated support for serial consoles.
The boot loader should query for these settings if possible.)
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).