Subject: Re: Problem dtb file booting Kernel 2.6.32

From: Andres F Marquez <[email-masked]>
Date: Fri, 15 Jan 2010 09:30:40 -0500

Hello,

I was able to boot Kernel 2.6.26.8 (using our old dts file from 
Kernel 2.6.25). However, I need to upgrade to a newer Kernel because
I am having serious problems with the ethernet interface under heavy
load. I am not sure if it could be a scheduling problem or the network
driver. CPU usage is low but load average is high (more than 4).

The main difference that I could find is that for newer Kernels the 
/arch/ppc was removed. I also read online that dts version changed 
from 0 to 1 somewhere around Kernel 2.6.27 or so.

Following your instruction, I executed in the LTIB command shell:

LTIB> dtc -I dtb -O dts ../mpc8272ads.dtb

I executed that command passing as argument the old working dtb file.
I got a dts file which I placed in the new Kernel and compiled.
Unfortunately, I am still getting the same error.

Attached you can find both dts files.

Thank you.

-- 
Andres F Marquez
EdgeAccess
Development
[email-masked]

On Thu, 2010-01-14 at 15:44 -0600, Scott Wood wrote:
> Andres F Marquez wrote:
> > Hello,
> > 
> > I am working on a MPC8265 board which I have successfully ported Linux
> > Kernel 2.6.25 to. I am trying to upgrade the Kernel but have not got
> > good results (I am able to compile the Kernel for my powerpc, but not to
> > boot it). The problem appears to be something related to the interaction
> > between the dtb and the Kernel. I am not sure if the syntax for the dts
> > file may have changed from Kernel 2.6.25 to newer versions (I have tried
> > 2.6.27.43 - 2.6.32.2 and 2.6.31.11 getting very similar results).
> 
> Can you bisect between 2.6.25 and 2.6.27 to see which commit may have 
> broken it?
> 
> What sort of changes did you make to get 2.6.25 to work?
> 
> > When I build the dtb file from the /arch/powerpc/boot/dts/MPC8272ADS.dts
> > file that comes with the new Kernel, the booting process gets stuck
> > after trying to load the device tree:
> > 
> > 	## Booting image at ff810000 ...
> >    		Image Name:   Linux-2.6.27.43
> >    		Image Type:   PowerPC Linux Kernel Image (gzip  
> > 			compressed)
> > 		Data Size:    1365263 Bytes =  1.3 MB
> >    		Load Address: 00000000
> >    		Entry Point:  00000000
> >    		Verifying Checksum ... OK
> >    		Uncompressing Kernel Image ... OK
> >    		Booting using the fdt at 0xff802000
> >    		Loading Device Tree to 007fc000, end 007fefff ... OK
> > 
> > 
> >    However, when I boot the new Kernel with the old compiled dtb file
> > (the one that works with the Kernel 2.6.25) the process moves forward
> > but stops at a time when displaying information about IRQ 40 line
> > (related to the Programmable Interrup Controller (PIC)):
> 
> Decompile that device tree blob using dtc -I dtb -O dts, and look for 
> differences.
> 
> -Scott