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

Jerry Van Baren gerald.vanbaren at ge.com
Thu Dec 13 19:03:38 CET 2007

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

Snoopy dance <http://www.google.com/search?q=snoopy+dance> :-)

WRT one of your previous messages, there are two fdt commands: "fdt 
print" does a full recursive print, "fdt list" only prints the given 
level, it does not print subnodes recursively.


More information about the U-Boot mailing list