[U-Boot] bootm, Linux, and device trees

John Jacques meticlite at gmail.com
Thu Jul 21 18:57:03 CEST 2016


I maintain a U-Boot port for some custom ASICs (Intel Axxia network
processors).  I've been basing this on v2015.10 for some time.  I just
rebased to the latest (v2016.07-67-gb8e5997), and though I can get to the
U-Boot prompt, Linux no longer boots.  As U-Boot seems to require a device
tree now, I copied the one I use for Linux (port of Linux 4.1 for the same
chips).  I use a .fit image containing Linux and a device tree.  Here's
what happens.

=> iminfo

## Checking Image at 04000000 ...
   FIT image found
   FIT description: X9
    Image 0 (kernel)
     Description:  Linux Kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x040000c8
     Data Size:    4432517 Bytes = 4.2 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00080000
     Entry Point:  0x00080000
     Hash node:    'hash1'
     Hash algo:    crc32
     Hash value:   2e88186e
     Hash len:     4
     Hash node:    'hash2'
     Hash algo:    sha1
     Hash value:   0c6c2a86daf3b7aca573b8d1256b516ab75126d1
     Hash len:     20
    Image 1 (fdt)
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x0443a478
     Data Size:    10841 Bytes = 10.6 KiB
     Architecture: AArch64
     Hash node:    'hash1'
     Hash algo:    crc32
     Hash value:   9ef65e46
     Hash len:     4
     Hash node:    'hash2'
     Hash algo:    sha1
     Hash value:   7fa07a2584ecb094e2ab3431078dd0d47006313e
     Hash len:     20
    Default Configuration: 'conf'
    Configuration 0 (conf)
     Description:  X9
     Kernel:       kernel
     FDT:          fdt
## Checking hash(es) for FIT Image at 04000000 ...
   Hash(es) for Image 0 (kernel): crc32+ sha1+
   Hash(es) for Image 1 (fdt): crc32+ sha1+

=> bootm
## Loading kernel from FIT Image at 04000000 ...
Fdt for comparison has no "compatible" property.
No match found.
Could not find configuration node
ERROR: can't get kernel image!

How do I specify the "Fdt for comparison"?  The device tree I added to the
U-Boot build has the same compatible string as the fdt in the image I'm
trying to boot?


More information about the U-Boot mailing list