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
Thanks! Ty