Keep the user interface simple. There is no need for fancy
cursor-addressed terminal support. Fancy features simply limit
the number of client terminal emulators that can be used. A
surprising number of these have very buggy DEC
VT100 implementations.
In addition to supporting lower speeds, also test your user
interface at low data rates.
Don't do too much. In Linux the
boot loader and operating system both have explicit support for a
serial console. So all the BIOS need do is to
support the a serial interface for itself.
Linux has no need for a generic serial
redirection facility. If you do provide such a facility for
other operating systems, please allow it to be disabled after
system boot.
Don't allow line noise to prevent the computer from
booting. Don't require just one key to enter the
BIOS configuration, make your users and your
marketing people happy by using a phrase like
dell, hp or
ibm. Copy the lifetime idea
from Section E.1.
Present a consistent prompt. Imagine a user with a
supercomputer array of five hundred PCs. You
want to change a BIOS parameter. Make it easy
for Expect to set
those parameters.
Make sure the Linux utilities
work. Check that the Linux
nvram device driver returns the full
contents of CMOS. This makes it simple to set
the same CMOS settings on a large number of
machines. The commands in Figure E-2
and Figure E-3 should work to copy the
BIOS settings from one machine to another, where
the make, model and BIOS versions of the
machines are the same.
Have a flash BIOS upgrade program that
works from Linux. Make the source
code to this available. Or publish the specifications so that
one can be written.
Be clear about what you are providing. Some
BIOSs with a ‘serial redirection’
feature don't allow the BIOS to be redirected
to a plain text terminal, but instead use a proprietary protocol.
This isn't of much use to Linux serial console users.