Thank you for adding support for remote operations to your BIOS. A few points will maximize the benefits of that support, most of them are listed in Section E.1.
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.
Figure E-1. Configuring /dev/nvram to access the CMOS configuration
bash# /dev/MAKEDEV nvram bash# vi /etc/modules.conf |
alias char-major-10-144 nvram |
bash# depmod -a |
Figure E-2. Getting the CMOS configuration
bash# cat /dev/nvram > /etc/nvram.bin |
Figure E-3. Setting the CMOS configuration
bash# cat /etc/nvram.bin > /dev/nvram |