
Hi Raul,
U-Boot is already running in my board. I configured the Flash, SDRAM, SRAM, FEC (ethernet) and console. Apparently all is working and I can trace the code just before the call in order to transfer the control to Linux, that is: (* kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end);
Congrats.
There it is supposed the U-Boot finishes its operation and then the Liinux kernel takes the control, but it hangs.
Are you sure it hangs or is it just that you don't see any output? Are you sure you are passing a correct console parameter to Linux? Search the archives, many people (including myself) already considered a perfectly working Linux kernel to be dead just because they did not see any console output...
I did the Linux image with entry address and load address 0x0. U-Boot can check the Multi-image correctly. So I don't know where the problem is. I think the problem is in the Linux image, not in U-Boot, I can not assure it. I can't trace the Linux booting because it hans at the beginning, even the console is not initialized.
Hook up a debugger if at all possible.
One question more, I wouldn't have to configure the memories again, I mean, Linux doesn't participate in the configuration of the memories because U-Boot has already done, right?
If the parameter passing between U-Boot and the kernel works, then yes, this is correct.
By the way, what kernel version on what arch are you trying to boot?
Cheers Detlev