[U-Boot-Users] libfdt problem when loading device tree

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Dec 13 18:16:34 CET 2007


On Thu, 2007-12-13 at 18:07 +0100, Joakim Tjernlund wrote:
> On Thu, 2007-12-13 at 11:46 -0500, Jerry Van Baren wrote:
> > Joakim Tjernlund wrote:
> > > I get this when I try to boot my board:
> > > ## Booting image at 00200000 ...
> > >    Image Name:   oskernel02a:p1a:99
> > >    Created:      2007-12-13   9:59:43 UTC
> > >    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
> > >    Data Size:    1238992 Bytes =  1.2 MB
> > >    Load Address: 00000000
> > >    Entry Point:  00000000
> > >    Verifying Checksum ... OK
> > >    Uncompressing Kernel Image ... OK
> > >    Loading Device Tree to 007fe000, end 007ff6f9 ... OK
> > > WARNING: could not create /bd_t FDT_ERR_NOSPACE.
> > > fdt_bd_t: FDT_ERR_NOSPACE
> > > ERROR: /bd_t node create failed - must RESET the board to recover.
> > > Resetting the board.
> > > 
> > > I have tried different combinations of -S and -R options to dtc,
> > > but nothing helps:
> > > dtc -S 2000 -R 2000 -f of-tmcu.dts -O asm > of-tmcu.S
> > 
> > -S 2000 may be too small, I found I needed -S 3000.  If you run dtc 
> > without the -S option and add in a verbose/info option(?), dtc will tell 
> > you how big your blob is without any padding.  Obviously, you need to 
> > pad it.
> 
> yes, that was it. Increasing to -S 0x4000 makes it work. I was noted
> this when producing a dtb, I got a warning. The asm version does
> not warn when the *.S is too small.
> 
>  Jocke

FYI, adding a chosen node to the dts file as below makes the boot fail.
chosen {
	       linux,stdout-path = "/soc8321 at e0000000/serial at 4500";
        };
This is the same as my OF_STDOUT_PATH:
#define OF_STDOUT_PATH          "/soc8321 at e0000000/serial at 4500"

 Jocke




More information about the U-Boot mailing list