
On 8/5/07, Yasothabalan Ramaswamy-TLS,Chennai yasothabalanr@hcl.in wrote:
Hi all,
I want to know how to transfer the control from Uboot to Linux Kernel. I am using MPC5200B powerpc and ICECUBE board.
Where exactly the Linux Kernel should be loaded?
Wherever you want to load it. u-boot will relocate it to the correct location after uncompressing the kernel uImage file.
In cmd_bootm.c file,
<snip>
What do these lines signify?
There are 2 different directories in the Linux kernel source tree which can be used to build a powerpc kernel; arch/ppc and arch/powerpc. arch/ppc is obsolete and slowly all board support in arch/ppc is moving over to arch/powerpc (support for mpc5200 is currently in both trees).
BTW, for new designs, you should be using arch/powerpc (by setting ARCH=powerpc in the environment when building the kernel)
One significant difference between arch/ppc and arch/powerpc is how the bootloader communicates with the kernel for embedded platforms. In arch/ppc, u-boot passes data via a static structure which has no standard format as is prone to breakage. In arch/powerpc, the bootloader instead passes a device tree blob which does have a standard format, and is much less prone to breakage.
So, when booting your Linux kernel that was built with ARCH=powerpc, you should pass three parameters to the bootm command. 1. address of the kernel 2. address of the (or '-' if you don't have one) 3. address of the device tree
You can generate a device tree blob (.dtb file) by compiling the dts file for your board with the device tree compiler (dtc). The Lite5200B device tree is in the kernel source tree in the directory arch/powerpc/boot/dts.
Side note: you're email client is sending mail in HTML, not plain ASCII text. Etiquette on this list is for ASCII email only.
Cheers, g.