[PATCH v4 0/3] tools/sunxi: Use mkimage for SPL generation

Andre Przywara andre.przywara at arm.com
Wed Jan 6 10:24:35 CET 2021


a small update fixing the strncpy bug and addressing too long DT names
properly. Thanks to Samuel for pointing this out.

So far creating a bootable SPL image for Allwinner based boards uses
the mksunxiboot tool. Most other platforms seemed to have integrated this
kind of functionality into the common mkimage tool.

Since there is nothing special about the Allwinner image in this respect,
just add support for the so-called "eGON" image type into mkimage. If there
was a particular reason this hasn't been done before, please let me know.

This will eventually allow us to remove mksunxiboot, but I leave it around
for now in case of regressions and since some people depend on it from
external projects.

Patch 1/3 splits some existing sunxi specific header file, so we can
share the eGON header definition between the tools and the SPL.
Patch 2/3 adds the actual support to mkimage, patch 3/3 then switches
the Makefile to use mkimage instead of mksunxiboot.

I tested all 152 Allwinner boards by building each
u-boot-sunxi-with-spl.bin and comparing them against the version created
using mksunxiboot (using SOURCE_DATE_EPOCH and .scmversion to create
reproducible builds, and by reverting just patch 3/3).
All files before and after were identical.


Changelog v3 .. v4:
- properly check DT name length before inserting into header

Changelog v2 .. v3:
- factor out eGON struct into separate header file
- only print extended header information when applicable
- remove redundant alignment
- minor cosmetic fixes

Changelog v1 .. v2:
- Drop already merged cleanup patch (v1 1/3)
- replace relative include path
- remove already defined ALIGN macro
- rebase against current master

Andre Przywara (3):
  sunxi: Factor out eGON BROM header description
  tools: mkimage: Add Allwinner eGON support
  sunxi: Use mkimage for SPL boot image generation

 arch/arm/include/asm/arch-sunxi/spl.h |  65 +-----------
 common/image.c                        |   1 +
 include/image.h                       |   1 +
 include/sunxi_image.h                 |  82 ++++++++++++++++
 scripts/Makefile.spl                  |   8 +-
 tools/Makefile                        |   1 +
 tools/sunxi_egon.c                    | 136 ++++++++++++++++++++++++++
 7 files changed, 226 insertions(+), 68 deletions(-)
 create mode 100644 include/sunxi_image.h
 create mode 100644 tools/sunxi_egon.c


More information about the U-Boot mailing list