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
|