On Thu, Feb 20, 2003 at 03:35:15PM -0500, Dan Malek wrote: > Tibor Polgar wrote: > > > The original poster wanted a setup where the initrd was NOT part of the > > kernel, which begs the question of how/where it would be put into flash so > > something could load/uncompress it. > > I regularly do this with compressed kernels (zImage) on PowerPC, ARM, and > Alchemy MIPS processors. I attach the compressed ramdisk to the zImage, > usually with "cat" and some shell scripts. The zImage uncompressor code > will relocate the ramdisk (and potentially ask for additional kernel > command line parameters) and will tell the kernel where the ramdisk is > located. I don't have to recompile the kernel to do this, and best of > all it doesn't require any special boot rom knowledge of the image. It > works with all boot roms that can load a binary image into a memory location > (not everyone uses RedBoot) :-) Another advantage is exactly the same > image that you repeatedly test by loading over tftp or with a debugger > can be written into flash memory without modification. It removes the > need to actually have to write to flash to test the image that will be > eventually written to flash. You just jump to the start of the image to > uncompress/relocate/initialize/jump to kernel regardless of where it > is located. > Looks like you have the solution that I called for. :-) > > There are a couple of things keeping me from making a patch for the MIPS > kernel. This method is in conflict with the "compiled in" ramdisk method, > and reserving the "bootmem" pages to ensure the kernel doesn't allocate the > compressed ramdisk pages before they are freed doesn't work well compared > to other architectures. I'm still running on luck with this latter problem, > but I think I can fix it. I don't know yet what to do about the conflicts > and assumptions made about the compiled-in ramdisk. > The compiled-in one uses a configure option. Perhaps you can rely on that to differentiate? Once the new method get stable, I am in favor to covert all embedded ramdisk to the new one. Jun