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