/etc/igetty.conf
The igetty(1) utility uses the /etc/igetty.conf configuration file to determine the serial ports on which it (and its children) will listen, and how the those ports will be configured. If a serial port is not listed in the /etc/igetty.conf file, it will be left alone.
In /etc/igetty.conf, each line is treated as a command line to the igetty(1) child. The line is parsed as getopt(1) would parse it. Lines beginning with the number-sign character (#) in the first column will be treated as comments.
Arguments on the line are to be separated with white space (blanks or tabs).
The first argument must be the path to the serial device with which the igetty(1) child is to be associated (that is, /dev/tty01). The remainder of the line will contain, in no particular order, the configuration options for that serial device. The synopsis of the line is as follows:
path [-b bits] [-I] [-p parity] [-s speed] [-S stopbits] [-t termtype]
Unknown options will be ignored (for future backward compatibility). Future versions might include additional options.
When the serial device sends a BREAK, igetty(1) will reconfigure to use the next configured baud rate.
For valid options, when an invalid operand is specified, the default operand will be used instead (that is, 8 for -b). Usually, there will be only one line per serial device. Some serial devices might, at different times, require different settings, however. Therefore, multiple lines defining different configurations per serial device are allowed. At startup, the first entry in the configuration file will be used. When the serial device sends a BREAK, igetty(1) will reconfigure to use the next entry for the serial device. When there is only one entry, igetty(1) will reconfigure the line with the same settings.
Autobauding is not currently supported.
The igetty(1) utility runs much like a daemon. It runs in its own session without a controlling terminal. The igetty(1) utility (the parent) then forks one child igetty(1) per serial device. The child igetty(1) has its own session and attempts to open the device and then set it as the controlling terminal for its session. If the child cannot open the terminal, it will sleep for 10 seconds before exiting. If the child can open the terminal but cannot acquire it as the controlling terminal for its session, it will sleep for 30 seconds and continually retry.
Once fully connected, igetty(1) will prompt for login. It is here that the 'break' key can be used to "roll" through different serial device configurations. Once a user name has been entered, login(1) is invoked, and the 'break' key will not select configurations. If login is terminated (by signal or end-of-file) or times out, the igetty(1) parent will notice and start a new child igetty(1).
After login(1) completes authentication, the normal login and shell startup takes place. When the session leader exits, the parent igetty(1) will notice and start a new child igetty(1).
The file /etc/igetty.conf can be examined as a sample configuration file. It is important to be aware that many personal computer systems have a serial mouse attached to /dev/tty00. Attaching a mouse with a PS/2 or universal serial bus (USB) connection will allow both motherboard serial ports to be used at the same time (/dev/tty00 (/dev/tty00 and /dev/tty01).
Third-party serial port expanders (cards or SCSI buses) do not all perform the same with respect to a number of factors. Most notable are their device drivers. If a system panic occurs while third-party serial port expanders are being used, contact the vendor of the board.
Modems can be connected with a "straight serial cable." Terminals must be connected with either a "null modem cable" or a combination of a "null modem" and a "straight serial cable." See the rs-232(5) manual page for more details.