PE 2550, RH 7.1 & Serial Console

Michael E Brown michael_e_brown at
Sun Mar 10 20:54:00 CST 2002

The reason that BIOS console redirection does not work is due to a bug in
LILO, combined with some 'unexpected interaction' with the BIOS.

Basically what happens is that when BIOS console redirection is turned
off, the BIOS puts the io-port address (0x3f8, 0x2f8, etc.) of the serial
line in the EBDA. LILO uses this info to program the serial port. But when
BIOS console redirection is turned on, the BIOS puts 0 in that same
location. LILO doesn't notice this and proceeds to use 0, thinking that is
the serial port. This causes the hang.

On Mon, 11 Mar 2002, Glen Turner wrote:

> Now why would the Dell BIOS conflict with LILO and not with Linux?  After
> all, once the BIOS has booted LILO the BIOS assumes that the operating
> system is running (if you look at GRUB you'll see a boot loader that is
> almost an oprating system)? Odd.
> One possibility is that the redirection never goes away.  Perhaps the BIOS
> redirects some INT10 BIOS calls to the serial port.  LILO uses the BIOS
> routines, so if LILO additionally used the serial port then LILO and the
> BIOS would get in each other's way.

This is approximately correct. BIOS console redirection is designed so
that you can remote-boot MS-DOS and get full console redirection of an
MS-DOS session.  The reason that the BIOS puts 0 for the IO-address in the
EBDA is that MS-DOS won't initialize the serial port in this instance
(which would mess up the redirection).

> But Linux doesn't use the INT 10 routines for I/O, so once Linux has reset
> the UART there would be no conflicts as the BIOS waits forever for a
> INT10.

Linux reinitializes the system into 32-bit protected mode. After this
happens the BIOS is out of the loop.

> Not sure that this explains how serial input would be redirected.  Hmmm.
> A technical description from Dell of the serial console redirection
> implementation would be very nice.

Hope this helps.
Michael Brown
Linux Solutions
Dell Computer Corp

More information about the Linux-PowerEdge mailing list