SYSLINUX is a boot loader that is installed on a MS-DOS floppy disk. As directed by it's configuration file \SYSLINUX.CFG it will load one of the files from the floppy disk as a Linux kernel.
SYSLINUX presents a simple text interface that can be used to select between canned configurations defined in the configuration file and can be used to add parameters to the kernel.
ISOLINUX and PXELINUX are variants of SYSLINUX for CD-ROMs and Intel's Preboot Execution Environment.
SYSLINUX supports a variety of serial port speeds, but it only supports eight data bits, no parity and one stop bit. SYSLINUX supports the serial ports COM1: through to COM4:, as with most boot loaders these are written as port 0 through to port 3.
For SYSLINUX to support a serial console add a new first line to \SYSLINUX.CFG:
Figure 4-11. Syntax of SYSLINUX serial command, in EBNF
serial <space> <serial_port> [ <space> <speed> [ <space> <syslinux_flow_control> ] ]
The variables are the same as used by syntax descriptions in Figure 2-7 and Figure 4-2 plus those in Figure 4-12.
Figure 4-12. SYSLINUX serial EBNF variables
<space> ::= ‘ ’
<syslinux_flow_control> ::= <hex_digits>
<hex_digits> ::= 0x<hex_digit><hex_digit><hex_digit>
<hex_digit> ::= 0 | 1 | … | 9 | a | b | … | f
The <syslinux_flow_control> variable controlling the RS-232 status and flow control signals is optional. If your null-modem cable does not present any status or handshaking signals then do not use it. The value of <syslinux_flow_control> is calculated by adding the hexadecimal values for the desired flow control behaviours listed in Table 4-1.
The behaviours for a correctly-wired null-modem cable or a correctly configured modem are marked "Required for full RS-232 compliance" in the table. The sum of these values is 0xab3.
Table 4-1. SYSLINUX flow control bitmap
Flow control behaviour | Hex value | Required for full RS-232 compliance? |
---|---|---|
Assert DTR | 0x001 | Yes |
Assert RTS | 0x002 | Yes |
Wait for CTS assertion | 0x010 | Yes |
Wait for DSR assertion | 0x020 | Yes |
Wait for RI assertion | 0x040 | No |
Wait for DCD assertion | 0x080 | Yes |
Ignore input unless CTS asserted | 0x100 | No |
Ignore input unless DSR asserted | 0x200 | Yes |
Ignore input unless RI asserted | 0x400 | No |
Ignore input unless DCD asserted | 0x800 | Yes |
Our preferred configuration of 9600bps, port 0, full RS-232 status signals and CTS/RTS flow control is written as:
When using this configuration SYSLINUX will not display anything and will not accept any typed character until the RS-232 status signals show a connected modem call (or a connected terminal if you are using a null-modem cable). |
If you have a null modem cable with no RS-232 status signals and no flow control then use:
Remember that the serial command must be the first line in \SYSLINUX.CFG.