This thread might be interesting to others. Kevin fixed CD detection for me in SeaBIOS. The timeout wasn't long enough for the drive to detect the media, so I couldn't boot a CD.
The other interesting problem I have is that when I cold boot into SeaBIOS, the drives aren't detected. If I restart the machine after this happens, it won't boot fully into Linux until I boot the factory BIOS. This doesn't happen if I stop the boot process by holding reset until the drives spin up on cold boot.
On Fri, Feb 13, 2009 at 12:11:11PM -0700, Myles Watson wrote:
Looking at the code, I noticed that the cdrom booting code doesn't
use
real timers and the ata code was recently updated to use less delays.
Yes. I had these troubles when I updated the Bochs BIOS for ADLO
before
SeaBIOS was around. The delays don't matter in the simulator, so they
get
ignored.
The latest git does a better job of timing the cdrom capacity/media sensing. Can you do a "git pull" and retry?
I can boot from CD again. There are a lot of error messages (~550 more than before), but it works. Thanks.
Great! Yeah, looks like the IDE code is responding to failures much faster than it was before. We could put an msleep() in the cdrom detect loop just to reduce the warnings, but tweaking the debugging level might be simpler.
Hrmm. If you cold boot into SeaBIOS, and then hit ctrl+alt+delete, does it detect your drives during the reboot?
I don't know. I'll try that. It doesn't work with the reset button
if I
let it go that far.
It didn't work for me that way. It still works for me to use the reset
button.
Hrmm. That's weird. Can you send a SeaBIOS log of a run where you boot up until failure, press ctrl+alt+delete, and then go to the failure again?
Sure. From what I've been able to tell, there's nothing significant there. SeaBIOS detects the drives the second time, but when Linux tries to boot it gets confused when it tries to load the SATA drivers and hangs. I don't think I was clear on that before. It could be related to the interrupt routing problems, or something that's not getting reset correctly by Coreboot.
It's symptomatically the same as booting into Linux with ACPI enabled and my broken (so far) tables. It hangs and won't boot correctly again until I boot the factory BIOS, sometimes only a cold boot with the factory BIOS works.
Thanks, Myles