On Sat, 2008-02-09 at 14:39 -0800, ron minnich wrote:
Yeah. I am not sure what could be wrong here. Usually this step works just fine.
You should try to DISABLE vga in bios, and try to get it to boot at all, and then work on it from single user mode. That would be my debug strategy anyway.
OK, I've switched to all-serial console using kernel parameters "ro root=/dev/sda2 rhgb earlyprintk=serial,ttyS0,115200 console=ttyS0,115200 noapic". When using kexec with the same elf image, I get a bash prompt on the serial line. The 'noapic' was needed because otherwise there is trouble with the APIC timer. Booting with coreboot gets me a lot further than before, but now it fails to find the root filesystem on the SATA disk. Clues to why this is can be found in these kernel messages:
PCI: No IRQ known for interrupt pin A of device 0000:00:05.0. Please try using pci=biosirq. IRQ handler type mismatch for IRQ 0 current handler: timer
Call Trace: [<ffffffff8025af50>] setup_irq+0x1ba/0x1d5 ... [<ffffffff8020c1ce>] child_rip+0x0/0x12
sata_nv: probe of 0000:00:05.0 failed with error -16
...(same for 00:05.1 and 00:05.2)
Using the suggested 'pci=biosirq' doesn't help, because: 'PCI: Unknown option `biosirq''...
It seems that the IRQ for the SATA controllers isn't set up by coreboot, so it generates IRQ0, which is the timer tick. Could this be related with the 'noapic' parameter? If so, how to fix the APIC timer issue?
Ronald.