Subject: Confused about Linux MIPS Boot Flow,

From: "Ku" <[email-masked]>
Date: Wed, 24 Apr 2002 18:13:01 +0800

Hi everybody,

I got the source code about Linux PhilpNino and traced,

BUT, If I use PMON for bootstrape code
The situation I assume,
0. I prepare two compressed images about kernel image and ramdisk image in flash    
1. With boot loader PMON 2.6 source code
   STEP 1: I modify go() function to decompress kernel image from to 0x80000000
   STEP 2: with PMON monitor code, then execute "go -e 0x80000000"
2. then the flow into the kernel_entry point respect to the source code
   "arch\mips\jernel\head.s"
   the kernel_entry segmentation is continued by init_arch to call prom_init ...
   and start_kernel...

-->IS THIS FLOW CORRECT?

=================================
For example to load RAMDISK on Linux PowerPC,
I ever make the "ramdisk.gz"  from flash to a free memory firstly,
after then, using PPCBOOT to transfer the "initrd_start" and "initrd_end" to kernel
So, the kernel image can work well to loading ramdisk and mount root, and go on...

BUT, For Linux PhilpNino on MIPS CPU,
I just find the ramdisk setting. in "arch/mips/philps/nino/in ld.script"
====
OUTPUT_FORMAT("ecoff-littlemips")
OUTPUT_ARCH(mips)
SECTIONS
{
  .initrd :
  {
        *(.data)
  }
}
====
and the Makefile
====
ramdisk.o: ramdisk.gz ld.script
        $(LD) -T ld.script -b binary -o $@ ramdisk
====
then, obj-$(CONFIG_BLK_DEV_INITRD)      += ramdisk.o

I just do not know, How the "obj-y" can tell the kernel the entry adress to load ramdisk...
Can I memcpy ramdisk,gz from flash to memory and pass the initrd_start and initrd_end to KERNEL (using the method as PowerPC's one)?

Because I do not have the demo board for test, I just can trace the possible flow...
thanks all,

--Ku