what is the "kernel" start_addr in NAND

xiangfu xiangfu at openmoko.org
Fri Aug 15 07:58:24 CEST 2008

Dale Schumacher wrote:
> Andy,
> Would you mind giving a description of the steps in the Freerunner
> boot process.  I think a few paragraphs would be sufficient to provide
> a conceptual foundation for understanding the roles played by various
> parts of the boot code.  AFIAK the steps include:
>  * Loading stepping-stone program from 1st block(s) in NOR/NAND
>  * Loading u-boot and u-boot_env
>  * Launching u-boot with u-boot_env
>  * Locating Linux kernel based on FS and format specified in u-boot_env
>  * Loading and executing specified Linux kernel
> I'm not sure how kernel parameters are specified, such as the location
> of root-FS, and I expect I've missed a few steps in the process
> (splash screen?).  In any case, more detail on any of the above would
> be greatly appreciated.  I would be willing to add it to the wiki as
> well.
> Thanks,
> Dale

i am reading the code that Andy write in kboot-stage1, the code is
really cool.
so i know something about load Linux kernel .

the uImage*****.bin we use have a head information in front of the linux

1. we read the head information from NAND flash then check the  image
magic ,
2. get the kernel size base head information .
3. read the kernel from nand to RAM.
4. init some tag   /* first tag */  /* revision tag */  /* memory tags
*/  /* kernel commandline */
    now i just know those are kernel's parameter  but i still know the
detail later i will read all the tag struck
5. trash the cache, turn off I/D-cache, flush I/D-cache
6. run the kernel :-)

More information about the openmoko-kernel mailing list