mkelfImage initrd help

Don Elwell don at bowery.com
Mon Mar 22 14:42:00 CET 2004


Hello,

Not sure if this is the right place for this question but I'm not sure 
where else to send the message.

I'm having trouble booting a Linux kernel/initrd image.  My original 
goal was:

LinuxBIOS->Etherboot->Linux (single mkelfImage kernel/initrd)

In the course of troubleshooting this problem I'm working with one of 
two configurations:

Original BIOS->Etherboot via Floppy->Linux (single mkelfImage 
kernel/initrd).

and

Original BIOS->ISOLinux->Linux (separate kernel and initrd).


Booting the kernel/initrd via the CD-ROM works great.  Booting via 
Etherboot doesn't.  I get kernel panics indicating that the kernel can't 
mount its root fs.

I've modified the mkelfImage convert_params.c file to print out 
everything.  Just before the "Jumping to Linux" line, I added code to 
print out the first 512 bytes of the initrd image.  The values printed 
match perfectly with the first 512 bytes of my initrd image.  The kernel 
table values for the initrd also look good: ramdisk at 0x800000.

I also added code in the Linux kernel do_mounts.c file (just after the 
"RAMDISK: could not find valid ramdisk image") to print out the first 
512 bytes of the buf buffer.  At this point, the values in no way match 
the values in the initrd image (nor to those printed out in 
convert_params.c).

Anyone got any insight on what might be happening here or how to 
continue debugging this?

Thanks,

-don





More information about the coreboot mailing list