> I am experimenting with initrd and my initrd fails to mount. My > bootloader (U-BOOT) coorectly loads the initrd into RAM as I can see. > > I am wondering how does the kernel get to know the address at which > the initrd is loaded by boot loader? How does the boot loader > communicate this to the kernel? > > Any code references will be appreciated. Perhaps lib_mips/mips_linux.c in the U-Boot tree is what you are looking for. That code sets up environment parameters that are parsed by the Linux kernel later on (see rd_start_early() and friends in arch/mips/kernel/setup.c in the Linux tree).
Thanks! That is exactly what I was looking for. However, I noticed that U-BOOT passes these parameters in environment variables, where as Linux kernel expects them as command l ine arguments. It wasn't working for me untill I made changes in U-BOOT to pass them in command line arguments. Why is this discrepancy in U-BOOT and the kernel? Are other people working on the (linux+U-BOOT) combo making the changes that I did? Thanks,, Rajat