[U-Boot] Linux hangs when uncompressing kernel image: linux-2.6.26

Jerry Van Baren gvb.uboot at gmail.com
Fri Apr 17 05:37:45 CEST 2009


Marco Antônio Possamai wrote:
> Hello
> 
> I've been working on building a 2.6.26 linux kernel to the mpc5200Lite
> PowerPc board. However, I am unable to boot the system using the
> generated image.
> 
> I am using what seems to be the latest U-Boot for the job. Got it from
> www.denx.de/git/u-boot.git.

Good.  :-)

> I'm using the device tree compiler dtc-v1.2.0 to compile the device tree
> source into a device tree blob. Got it at:
> http://jdl.com/software/dtc-latest.tgz

Good, but *what* did you compile?

If this were /., I would insert an automobile analogy about you telling 
us all about the wrenches you used, how they were the best Binford-2000 
lifetime guaranteed wrenches with more power, but never told us what 
part you were adjusting with the wrenches.
   <http://en.wikipedia.org/wiki/Home_Improvement>

> For the device, my design procedure is the following:
> 
> 1. In the first step I generate the uImage file ('make ARCH=powerpc
> zImage'), the corresponding lite5200b.dts and compile it to
> lite5200b.dtb.
> 2. Afterwards, I do the U-Boot configs. I define 0x00600000 as the device
> tree address and 0x00200000 as the uImage's.
> 3. Finally, I transfer them all (using tftp for each, of course) and try
> to boot: 'bootm 0x00200000 - 0x00600000'
> 
> The result is that the console hangs...

Is linux hung or is there no serial output?  From the outside, the two 
symptoms are indistinguishable.  If linux is actually running, it means 
your console/serial configuration in your dtb is not right.  Use your 
debugger to halt the processor and see what/where it is executing.  Dump 
the linux log buffer and see if there is anything interesting in there 
that wanted to go out the serial channel but couldn't.

> Does anyone have any idea of why it happens? I checked a similar problem
> at the
> http://www.denx.de/wiki/view/DULG/LinuxHangsAfterUncompressingKernel, and
> I'm almost convinced that it is probably a bd_info problem, concerning
> the definitions of the kernel's IMAP_ADDR and the CFG_IMMR of U-Boot to
> be unmatching.

The flattened device tree replaces the bd_info structure as the way to 
communicate configuration info from u-boot to linux.

> If that is the case, how/where can I correct it? Which files should I
> look for?

What are you using for your device tree source (.dts)?  Odds are pretty 
good that is the problem.  If that is OK, second best is if your console 
simply isn't configured properly.  If neither of those are the case, you 
have some serious debugging ahead.

> Thanks for the attention.
> 
> Marco Antônio Possamai
> 
> Universidade Federal de Santa Catarina

Good luck,
gvb


More information about the U-Boot mailing list