I found a parameter, BOOT_IDE, which I have enabled instead of USE_GENERIC_ROM. It appears that when I use this parameter, linuxbios tries to load the kernel from my hard ide hard drive. Is this what the parameter is meant to do? If this is the case, then I should be able to place the kernel on the hard drive instead of within the flash memory. This would solve my 256K flash size limit problem. It also seems to be easier to load the kernel from the hard drive, instead of loading a kernel from the flash, then having that kernel load the kernel from the hard drive. If I can load the kernel from the hard drive, then how do I get the kernel to the hard drive. Does it need its own partition. Maybe I could make a small raw partition at the beginning of the drive, and the rest of the root file system on another partition behind the raw one. Any thoughts? John
It also seems to be easier to load the kernel from the hard drive, instead of loading a kernel from the flash, then having that kernel load the kernel from the hard drive. If I can load the kernel from the hard drive, then how do I get the kernel to the hard drive. Does it need its own partition. Maybe I could make a small raw partition at the beginning of the drive, and the rest of the root file system on another partition behind the raw one. Any thoughts? John
This is what I do, using a CF instead of an HDD. You need to skip over the partition table, which is hardcoded in /src/rom/ide_fill_inbuf.c at 0x7e00 (63 * 512). I had to set this to 32*512 for my CF. I also had to fumble with the hard coded delays a bit too. You can make a small partition for the kernel and a larger one for the rootfs, so the kernel is just cat'ed or dd'ed raw to /dev/hda1 for example, and the rootfs is in /dev/hda2.
I'd be happy to provide other details as I have booted from both floppy, ide0, and from ide2 with rootfs on ide0. But all of this requires a little massaging of the codebase.
-Steve