On 25-Jan-00 Victor Wells wrote:
> I am developing an embedded system that will boot from flash.
> I would like to load a RAM based file system to physical memory
> and then have the kernel mount the RAM disk as the Root
> file system.
> Our boot process is to:
> 1.) Load the kernel
> 2.) Load the RAM disk/Root file system
> 3.) Mount the RAM disk as the Root file system within the kernel
> How can I hard code the kernel to know where the RAM disk will
> exist in physical memory?
Once upon a time I had a hack which did something similar, linking a ramdisk
image into the kernel image which resulted in a single file for kernel+ramdisk.
This is not only a nice feature for installation kernels but a must for boxes
which are only capable to boot a single file, for example via TFTP.
The current mechanism, i.e. "addinitrd", works for some boxen which boot ECOFF
kernel images, but even not for all of them. Creating an kernel+ramdisk ELF
image and converting that into ECOFF, on the other hand, even works for
DECstations. Depending on how you fiddle with the linker scripts the ramdisk
image can easily reside in ROM or flash or whatever.
Well, somehow this hack didn't make it into the mainstream kernel but came to a
new life within the LinuxCE project and I am beginning to wonder if we should
make this the default.