Peter Stuge wrote:
On Wed, Apr 26, 2006 at 09:02:12AM -0700, Eric Poulsen wrote:
As usual, flipping to the factory BIOS, seeing the "corrupt CMOS" message, and re-writing the CMOS fixed the issue.
Are you sure this is actually the case, as opposed to "after rebooting with the factory BIOS the system does not crash immediately on the next boot with LinuxBIOS" - they are quite different.
I'm not sure I fully understand your definition / distinction. Here are some options:
1) Use factory BIOS, re-save CMOS, Boot OS, Reboot later using LB 2) Use factory BIOS, NOT re-save CMOS, Boot OS, Reboot later using LB 3) Use factory BIOS, re-save CMOS, powerdown, boot use LB 4) Use factory BIOS, NOT re-save CMOS, powerdown, boot use LB 5) Other ?
"re-save CMOS" means entering BIOS menu and choosing "save changes and exit"
When I have the crash problem, I have been using option #3. I'm not sure if that answers your question =)
If the "using defaults" message from the Factory BIOS does NOT re-write the CMOS, I suspect that #2 and #4 WON'T fix the problem. I'm fairly certain that #1 fixes the issue.
Actually booting the OS after the CMOS reset doesn't seem to be necessary.
I immediately flipped back to LB, and it worked as expected.
Worked reliably or did not crash while you were looking?
The crash _always_ occurs during initial kernel execution, before 'init' starts. It never crashes once it fully boots. I'm not sure what "reliably" vs "while looking" means. Once it goes into 'crash mode', it never fully boots.
Can you reliably reproduce the crash? If not there's no way to tell if the problem has been fixed or merely isn't manifesting itself at that particular point in time.
Does just rebooting with LinuxBIOS produce different results than factory(resetCMOS)->LinuxBIOS?
Rebooting with LB crashes every time, until I reset the CMOS with the Factory BIOS. This is why I think it might be a CMOS issue -- the crashing seems stateful.
I second Richard on running memtest86, RAM problems can cause all sorts of funny things.
I'll hit the ram test ASAP. I've had other weird issues, such as the kernel taking a REALLY LONG time to initialize stuff. This is new RAM, so hopefully still under warranty.
I looked at the CMOS code in src/pc80/mc146818rtc.c.
Any system that requires special data to be in CMOS or anywhere else and does not validate this data before using it is broken.
If by "system" you mean the BIOS, then I agree. AFAIK, the only setting that Linux (or any OS) uses from the CMOS is the RTC.
If one of the OS/mainboard combinations LinuxBIOS works with requires data in CMOS I guess it could just as well be the OS' responsibility to validate/create it, but such a dependency would be kind of stupid IMHO..
//Peter