[U-Boot] beagle-bone fdt booting problem

Simon Glass sjg at chromium.org
Thu Mar 27 16:28:10 CET 2014


Hi,

On 26 March 2014 00:10, Belisko Marek <marek.belisko at gmail.com> wrote:

> Hi,
>
> I'm playing with fdt booting on beaglebone board. I'm using latest
> u-boot git HEAD (2c072c958bb544c72f0e848375803dbd6971f022) + I've
> added to am335x_evm confing :
> #ifndef CONFIG_SPL_BUILD
> #define CONFIG_OF_CONTROL
> #define CONFIG_OF_SEPARATE
> #endif
>
> I took beaglebone devicetree from kernel. Then I took patch [1] to
> build image from u-boot and my compiled DT blob.
>
> Booting this image always fails with:
> No valid FDT found - please append one to U-Boot binary, use
> u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d
> <file.dtb>
> ** CONFIG_OF_CONTROL defined but no FDT - please see doc/README.fdt-control
>
> I poke around this and find out that when CONFIG_OF_SEPARATE is used
> then fdt_blob is set to address of .__end pointer. When evaluate image
> with hexdump it seems that fdt blob (in my particular case and
> configuration) is shifted by 312 bytes from .__end. When I point
> gd->fdt_blob (hack in code) to that address it boots fine. Any ideas
> what I'm doing wrong (I must do something wrong as it seems nobody
> complains  :)).
>
> [1] -
> http://git.denx.de/?p=u-boot/u-boot-x86.git;a=commit;h=d4ab2022cdfe098e93819c58188ad36174160872


You might be best taking this from the u-boot-x86.git branch 'bone'. It is
a little old but it does work.

The patches for this were never applied unfortunately. I'll update them to
mainline again at some point and resubmit.

Regards,
Simon


More information about the U-Boot mailing list