[PATCH 0/4] bootm: Handle compressed arm64 images with bootm

Simon Glass sjg at chromium.org
Sun Nov 5 21:03:50 CET 2023


This little series corrects a problem I noticed with arm64 images,
where the kernel is not recognised:

   ## Loading kernel from FIT Image at 10000000 ...
      Using 'conf-930' configuration
      Verifying Hash Integrity ... OK
      Trying 'kernel' kernel subimage
        Description:  Linux-6.6.0-rc7-next-20231024-00003-g259c196f194c
        Type:         Kernel Image (no loading done)
        Compression:  gzip compressed
        Data Start:   0x10000138
        Data Size:    13667956 Bytes = 13 MiB
      Verifying Hash Integrity ... OK
   Bad Linux ARM64 Image magic!

The problem is that the arm64 magic is checked before the image is
decompressed.

Another issue is that the load address is read from the 'load' property
even with a kernel_noload image. This means that the kernel is loaded
to address 0, which may not be valid on the board. We can use the
kernel_addr_r environment variable instead.

A patch is included to show the kernel load-address, so it is easy to
see what is going on.


Simon Glass (4):
  bootm: Allow ignoring the load address with kernel_noload
  bootm: Move arm64-image processing later
  image: Show the load address when decompressing
  image: Correct load_bug typo

 boot/bootm.c    | 61 ++++++++++++++++++++++++++++++-------------------
 boot/image.c    | 13 +++++++----
 include/image.h |  2 +-
 3 files changed, 48 insertions(+), 28 deletions(-)

-- 
2.42.0.869.gea05f2083d-goog



More information about the U-Boot mailing list