[coreboot] LinuxBIOS V1 ?!

Tyson Sawyer tsawyer at irobot.com
Wed Feb 3 02:29:40 CET 2010

Stefan Reinauer wrote:
> Welcome back, Tyson!

Thanks!  ...I guess. ;-)

> On 1/29/10 9:08 PM, Tyson Sawyer wrote:
>> Hello,
>> A small voice from the distant past here.
>> I have a custom system using LinuxBIOS V1. Yes! 1! This is a
>> PIII/440BX based system.
>> We have found that we can boot 2.6.23-17, but can not boot 2.6.24.
>> Investigation using characters posted on the serial port suggest that
>> we are starting the kernel and getting to about the point where the
>> clock speed of the CPU and then it just stops as far as we can tell.
> Could you provide a log of the boot with each kernel? It might help
> getting an idea of what could be going wrong.

The kernel provides no output what at all.  The early printk option also 
provides nothing.  It dies too early for that.  I had the guy working on 
it (I sent the email to coreboot because he just went on a week 
vacation) put in some low level code to write directly to the serial 
port (copied from the code I have in Linuxbios) so that we would have 
some sort of output, even if just a single character.

>> We've found that if we put in more output to the serial port, it dies
>> earlier in the code. We can't be sure, bit it appears that it might be
>> some sort of a time based problem. It dies after a certain amount of
>> time and if we use that time by polling characters out the serial
>> port, then we don't get as far through the code before death.
> How early in the code can you get it to die? I wonder whether some
> watchdog driver could cause the trouble?

I don't think there are any, but I could look into that.  The hardware 
is our own that we've been using since I as previously involved with 
Linuxbios and V1 was state of the art.  There is no watchdog hardware, 
but we could look for a driver that might do something silly?  Seems 
like a long shot, but worth a look.

>> One thought that almost fits the facts is that a interrupt might be
>> occurring and not handled properly. But it happens that the CPU clock
>> speed code disables interrupts and this is where it is dying.
> Knowing a bit more about the hardware and kernel configuration would
> certainly help.

I'm not sure where to start there, esp. since it is custom hardware 
except to say that there is nothing exotic.

>> There seems to have been a number of changes in 2.6.24 to support
>> booting kernels in virtual machines and to merge ia64 and ia32 under
>> x86. Some notes were added about 32 bit boot loaders that reference
>> LinuxBIOS. However, we've been unable to find what it is that we are
>> doing wrong. We have grep'ed the internet and browsed through the
>> CoreBoot email archives, but failed to find anything that might have
>> been in either "place".
> Worst case you could diff between 2.6.23-17 and 2.6.24 and do a binary
> search over the differences until you find the culprit. But maybe there
> is a higher level approach that wants to be taken first.

Yeah... that.  I was hoping that the easy way out would be that I 
mention 2.6.24 and everyone jumps up and down and tells me about the 
well known change for 32 bit loaders that we need to make. ;-)

> Best regards,
> Stefan


Tyson D Sawyer                     iRobot Corporation
Lead Systems Engineer              Government & Industrial Robotics
tsawyer at irobot.com                 Robots for the Real World
781-418-3329                       http://www.irobot.com

More information about the coreboot mailing list