Hash Error When Booting FIT Image

Last modified by Microchip on 2025/08/14 13:16

How Does the Issue Manifest?

Starting from the U-Boot 2021.04 released in Linux4SAM 2021.04, you may notice the following error when trying to boot the FIT image:

U-Boot 2021.04-linux4sam-2021.04-rc3-00005-gf6976dd95f (Jun 25 2021 - 07:37:44 +0530)

CPU: SAMA5D29-CN    
Crystal frequency:       12 MHz
CPU clock        :      498 MHz
Master clock     :      166 MHz
DRAM:  512 MiB
MMC:   sdio-host@a0000000: 0, sdio-host@b0000000: 1
Loading Environment from FAT... OK
In:    serial@f8020000
Out:   serial@f8020000
Err:   serial@f8020000
Net:   eth0: ethernet@f8008000
Hit any key to stop autoboot:  0
4723628 bytes read in 284 ms (15.9 MiB/s)
## Loading kernel from FIT Image at 24000000 ...
   Using 'kernel_dtb' configuration
    Trying 'kernel@1' kernel subimage
     Description:  Linux4SAM Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
      Data Start:   0x240000e0
      Data Size:    4654984 Bytes = 4.4 MiB
     Architecture: ARM
     OS:           Linux
      Load Address: 0x22000000
      Entry Point:  0x22000000
      Hash algo:    crc32
      Hash value:   ef9dca8e
      Hash algo:    sha1
      Hash value:   87974e6f3452fde4628039cdaf6dbe1ea7585f4f
    Verifying Hash Integrity ... error!
Node name contains @ in 'kernel@1' image node
Bad Data Hash
ERROR: can't get kernel image!

Cause of the Issue

U-Boot has updated how configuration and image names inside the ITB file are treated.

Upstream commit 79af75f777 ("fit: Don't allow verification of images with @ nodes") has stopped the possibility of having the '@' character inside image names.

Solution

You must update your dt-overlay-at91 tree to at least the linux4sam-2021.04 version.

Commit 7ad3118 fixes this problem.

Learn More

Back to Top