96 Commits
Author SHA1 Message Date
Shiji Yang 24de657e0f tools/mkimage: update to version 2026.10
Update to the latest release. Adjust the `HOST_BUILD_DIR` directory
pattern to align with upstream changes. Out-of-sync server URLs have
also been removed[1].

[1] https://lore.kernel.org/u-boot/20261010142922.GI769217@bill-the-cat/

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25783
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:40:27 +02:00
Ryan Leung 79bc56cb74 u-boot: add project's new download source
Das U-Boot project is transitioning their infrastructure [1],[2] and now publishes releases on their
GitLab [3]. Add it as the first download source and keep the existing sources which are currently
still available for historical releases.

Also update the U-Boot project web page [1] for the package URL and bump PKG_RELEASE for uboot-tools

[1]: https://lore.kernel.org/u-boot/20260511174116.GJ1858239@bill-the-cat/
[2]: https://lore.kernel.org/u-boot/20260727224922.GB1188@bill-the-cat/
[3]: https://git.u-boot-project.org/u-boot/u-boot/-/releases/

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/25343
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-07 14:29:03 +02:00
Robert Marko cec4e5acae tools: mkimage: refresh patches
Refresh mkimage patches, so that CI is happy.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-28 14:12:42 +02:00
Massimo Mazzariol 6f684052de tools/mkimage: reject empty custom magic
Reject custom magic values when strtoull() does not parse any
digits, in addition to values outside the 32-bit uImage magic range.

Signed-off-by: Massimo Mazzariol <mazzariol.massimo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25288
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-25 10:05:04 +02:00
Massimo Mazzariol 36efe835fd tools/mkimage: validate custom magic range
strtoull() can parse values wider than the 32-bit uImage magic field.
Reject values above UINT32_MAX before assigning the parsed value to
params.magic.

Signed-off-by: Massimo Mazzariol <mazzariol.massimo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25288
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-25 10:05:04 +02:00
Massimo Mazzariol f9a75af743 tools/mkimage: support custom magic in dumpimage
OpenWrt's custom uImage magic patch makes legacy image verification use
params.magic instead of IH_MAGIC.

mkimage initializes this field, while dumpimage leaves it zeroed. This
causes dumpimage to reject valid legacy uImages using the standard
IH_MAGIC with FDT_ERR_BADMAGIC.

Initialize dumpimage's magic to IH_MAGIC so the normal verification path
works by default. Also add -M handling matching mkimage, allowing
dumpimage to verify and extract uImages built with a custom magic.

Tested with the patched U-Boot 2026.07 host tools. Standard-magic images
list and extract correctly, custom-magic images are accepted with the
matching -M value, and are rejected without it or with an incorrect
magic. Extracted payloads were verified byte-for-byte.

Fixes: #25287
Signed-off-by: Massimo Mazzariol <mazzariol.massimo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25288
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-25 10:05:04 +02:00
John Crispin 0f05c481fd tools: pass the job server to the compile step of mtools, mkimage and lzma
host-build.mk clears MAKEFLAGS, so a custom Host/Compile that runs a bare
$(MAKE) builds with one job, whatever HOST_BUILD_PARALLEL says. mtools
sets the flag, but its compile step never used it.

Each of the three now passes $(HOST_JOBS), and mkimage and lzma set
HOST_BUILD_PARALLEL:

  mkimage  11.7 s -> 7.2 s
  mtools    8.3 s -> 4.8 s
  lzma      4.0 s -> 1.8 s

Each one builds five times out of five with the job server, and each
build installs files that are identical to those of a serial build.

Signed-off-by: John Crispin <john@phrozen.org>
2026-09-22 20:29:59 +02:00
Shiji Yang f381d86d91 tools/mkimage: update to v2026.07
Update to the latest version. There are no new changes here, just
to align with uboot-tools.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24124
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-09 13:00:18 +02:00
Paul Spooren 7a991c8d88 treewide: use HTTPS for PKG_SOURCE_URL where possible
Switch http:// (and redundant ftp://) PKG_SOURCE_URL entries to https://
across tools/ and package/. PKG_HASH alone does not protect against an
attacker tampering with insecure downloads when a maintainer regenerates
the hash via `make ... FIXUP=1`: HTTPS authenticates the upstream so the
captured hash reflects real upstream content.

In-place http -> https (HTTPS reachability verified per host):
- tools/elftosb, tools/lzop, tools/liblzo, tools/mpfr, tools/dosfstools,
  tools/libressl, tools/xz
- package/libs/mpfr, package/libs/libmnl, package/libs/libnfnetlink

Replaced with @OPENWRT (HTTPS-only mirror) where the upstream HTTPS host
is dead or has a broken certificate:
- package/libs/popt (ftp.rpm.org cert mismatch)
- package/firmware/ixp4xx-microcode (was http://downloads.openwrt.org)
- package/boot/imx-bootlets (trabant.uid0.hu cert mismatch)
- package/boot/kobs-ng (freescale.com URL is dead, redirects to nxp.com root)

Dropped redundant ftp://ftp.denx.de fallback (https://ftp.denx.de is
already listed):
- package/boot/uboot-tools, tools/mkimage

Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-04-20 11:58:37 +08:00
Shiji Yang 75f2f960ca tools/mkimage: use full defconfig name
The defconfig file used to build tools is "tools-only_defconfig".
Though u-boot scripts can still automatically handle the old style
name for compatibility reason, it's better to use the correct name.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22844
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-12 10:28:25 +02:00
Shiji Yang e249f79723 tools/mkimage: disable more unnecessary tools
It doesn't make sence to build unused tools.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22844
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-12 10:28:25 +02:00
Shiji Yang f2d684236f tools/mkimage: update to v2026.04
Update to the latest version and add missing 030 patch header.

Changelog:
22aa122eee0 mkimage: Add support for bundling TEE in mkimage -f auto

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22844
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-12 10:28:25 +02:00
Stefan Kalscheuer 1e678eb223 tools/mkimage: update to version 2026.01
Update package to the latest stable version.

Patches manually refreshed:
* 030-allow-to-use-different-magic.patch

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/21674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-27 01:29:57 +01:00
Stefan Kalscheuer 50e4d4f4ba tools/mkimage: update to version 2025.10
Update package to the latest stable version.
All patches need to be updated.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/20379
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-10-11 21:50:41 +02:00
Shiji Yang ae7d6c851a tools/mkimage: update to v2025.07
Update to latest version. All patches are automatically refreshed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19341
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-07-08 08:37:36 +02:00
Shiji Yang 9a0f0611d2 mkimage: update to v2025.01
Update to latest version. There are no patches that need to be
refreshed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17539
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-12 20:16:59 +01:00
Shiji Yang 7d2ca4e410 tools: mkimage: update to U-Boot release v2024.07
Update to latest version.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2024-07-04 21:15:26 +02:00
Nick Hainke 6f2244735f tools/mkimage: update to v2024.04
Update to latest version.

Refresh patches:
- 030-allow-to-use-different-magic.patch
- 095-tools-disable-TOOLS_FIT_FULL_CHECK.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-05-29 10:43:50 +02:00
Nick Hainke 0a0d89265e Revert "tools/mkimage: update to v2024.04"
This reverts commit 8d934c1196.

The update seems to be causing issues that need to be further
explored [0]. Let's revert it.

[0] - https://github.com/openwrt/openwrt/pull/15078

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-04-06 14:52:06 +02:00
Nick Hainke 8d934c1196 tools/mkimage: update to v2024.04
Update to latest version.

Refresh patches:
- 030-allow-to-use-different-magic.patch
- 095-tools-disable-TOOLS_FIT_FULL_CHECK.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-04-06 08:02:40 +02:00
Nick Hainke ae7a7ef5da tools/mkimage: update to 2024.01
Update to latest version.

Refresh patch:
- 030-allow-to-use-different-magic.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-01-25 16:07:42 +01:00
Nick Hainke a82c9699c4 tools/mkimage: update to 2023.10
Update to latest version.

Remove "100-increase-tmpfile-name-length-limit.patch" because project
is now using limits.h with PATH_MAX [0].

Automatically refreshed:
- 030-allow-to-use-different-magic.patch

[0] - https://github.com/u-boot/u-boot/commit/99d430f344bfdb0641022fd3efa26c29c957df02

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-11-09 12:50:04 +01:00
Nick Hainke cd8c698f78 tools/mkimage: update to 2023.04
Update to latest version.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-04-11 17:30:32 +02:00
Linhui Liu 1909a3d69b tools/mkimage: update to 2023.01
Remove upstreamed patches:
- 020-tools-mtk_image-split-gfh-header-verification-into-a.patch
- 021-tools-mtk_image-split-the-code-of-generating-NAND-he.patch
- 022-tools-mtk_image-add-support-for-nand-headers-used-by.patch

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-13 14:49:52 +00:00
Daniel Golle e3706bf497 tools/mkimage: bring back removed patches
Patches for mtk_image supporting newer SoCs have been dropped in the
process of updating mkimage to U-Boot 2022.10. While it is true that
the patches have been merged upstream a while ago, they were not merged
in time to be part of the U-Boot 2022.10 release.
See also commit 537b423d9f ("uboot-mediatek: update to U-Boot 2022.10")
which explicitly mentions that.

Fixes: 6e245777bd ("tools/mkimage: update to 2022.10")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-10-23 16:29:59 +01:00
Nick Hainke 6e245777bd tools/mkimage: update to 2022.10
Remove upstreamed patches:
- 020-tools-mtk_image-split-gfh-header-verification-into-a.patch
- 021-tools-mtk_image-split-the-code-of-generating-NAND-he.patch
- 022-tools-mtk_image-add-support-for-nand-headers-used-by.patch

Refreshed manually:
- 030-allow-to-use-different-magic.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-10-22 22:50:36 +02:00
Daniel Golle 8686a9a085 tools: mkimage: Add support for MediaTek MT798x
Import pending patches for mtk_image to support BootROM headers of
newer MediaTek SoCs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-28 19:01:55 +01:00
Daniel Golle 68cd4dc3ed mkimage: fix validation of legacy images with custom magic
All images generated by mkimage are now always validated.
This change broke our downstream support for setting a custom value for
IH_MAGIC (mkimage -M ...). Make sure also plain legacy kernel images
with custom value set for IH_MAGIC validate correctly.

Fixes: fa9895ee5b ("tools: mkimage: update to U-Boot release 2022.07")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-12 12:02:41 +02:00
Daniel Golle fa9895ee5b tools: mkimage: update to U-Boot release 2022.07
Removed patch 090-macos-arm64-builing-fix.patch as an equivalent
solution was applied upstream:
 3b142045e8 Support building on macOS/arm64

To not add new host dependencies (libuuid, gnuTLS) don't build the
anyway unused mkeficapsule tool which would otherwise now be built
by default.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-11 17:11:54 +02:00
Daniel Golle 3fbf9689b6 tools/mkimage: increase tmpfile name length limit
mkimage limits the length of the file paths in can deal with to 256
characters. Turns out that in automated builds by asu we break this
limit, so increase it to 1024 characters.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-06-05 11:32:58 +01:00
Huangbin Zhan 4a19cf3bc7 tools/mkimage: update to 2022.01
- enable dot config
- enable openwrt verbose
- add bison as dependency to avoid failure
```
  bison -oscripts/kconfig/zconf.tab.c -t -l scripts/kconfig/zconf.y
bison: /builder/shared-workdir/build/staging_dir/host/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory
```

Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
2022-03-01 00:08:08 +01:00
Huangbin Zhan b6385a3668 tools/mkimage: update to 2021.10
Changelog:

 - upstream now needs OpenSSL in order to be able to sign FITs. See:
commit cb9faa6f98ae ("tools: Use a single target-independent config to enable OpenSSL")

 - removes upstream patches.

Link: https://github.com/u-boot/u-boot/commit/cb9faa6f98ae56d70d59505dad290dd3d381cb7b
Tested-by: Sergey V. Lobanov <sergey@lobanov.in>
Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2021-12-27 13:51:41 +01:00
Sergey V. Lobanov 8261b85844 tools/mkimage: fix build on MacOS arm64
Fixed -no-pie compilation warning on MacOS
Fixed errors related to using absolute addressing on MacOS arm64

Based on upstream patch from Jessica Clarke and suggestions from Ronny Kotzschmar

Link to original patch and discussion:
https://github.com/u-boot/u-boot/commit/3b142045e8a7f0ab17b6099e9226296af45967d0

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2021-12-06 23:36:35 +01:00
Andre Heider e37dffbf35 tools/mkimage: pass --static via PKG_CONFIG_EXTRAARGS
Remove the then unnecessary patch doing exactly that individually.

See also 09465d80 "u-boot.mk: always link host libraries static".

Signed-off-by: Andre Heider <a.heider@gmail.com>
2021-11-06 14:22:26 +01:00
Daniel Golle ce19e8fa43 tools: mkimage: add patches for 64-bit MediaTek BootROM
Add patches for mkimage to allow using it instead of the binary-only
'bromimage' tool to generate bl2 for MT7622.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-03-11 16:24:20 +00:00
Hauke Mehrtens e6ccb40ba5 tools: mkimage: Update U-Boot to version 2021.01
* The fit image is now created with 0666 permission in upstream U-Boot
  remove our patch switch creates it with 0744
* The generated/autoconf.h file is created now as an empty file, it is
  not needed to remove this include any more.
* Upstream lib/rsa/rsa-sign.c now includes stdlib.h instead of malloc.h
* ALIGN_MASK was moved to imagetool.h, own patch should not be needed
  any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-02-08 22:46:27 +01:00
Ted Hess 600416d5c1 tools/mkimage: create .itb file with read-access for group,other not just owner.
This patch will fix the source of 403 errors on these files
from downloads.openwrt.org.

Signed-off-by: Ted Hess <thess@kitschensync.net>
2020-07-23 14:25:10 -04:00
Lucian Cristian 042917f1c4 tools/mkimage: update to 2020.04
also change the download source to https and add a mirror
drop merged patches

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
[Add extra changes to compile on FreeBSD, merge two patches]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-04-26 21:20:47 +02:00
Hauke Mehrtens 169152c8d1 tools/mkimage: Update U-Boot to version 2019.07
This updates the U-Boot which provides the host tools like mkimage to
version 2019.07.
The patches were cleaned up and it was checked if this still compiles
on Linux and FreeBSD.

CONFIG_FIT_SIGNATURE_MAX_SIZE is set to the default value.

The patch for libressl was merged upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-09-04 22:35:22 +02:00
Felix Fietkau fd8705e635 tools/mkimage: use http download server (fixes FS#2052)
Fixes timeouts with trying to access the FTP site.
Also remove mirror2.openwrt.org, which does not keep current tarballs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-07 13:28:30 +01:00
Jo-Philipp Wich a656ea0bdb tools: mkimage: provide dtc path during build
The new mkimage version requires a CONFIG_MKIMAGE_DTC_PATH variable to be
provided during build, in order to hardcode a path to a suitable DT
compiler executable.

Failure to do so will result in stray "sh: 1: -I: not found" errors when
invoking mkimage for FIT image generation.

Fix the issue by supplying "dtc" as CONFIG_MKIMAGE_DTC_PATH value during
build. As we intend our host utilities to be relocatable and since we're
already overriding PATH when invoking mkimage, an absolute path is not
required.

Fixes: b13e981d72 ("tools/mkimage: update to version 2018.03")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-19 08:34:34 +02:00
Hauke Mehrtens b13e981d72 tools/mkimage: update to version 2018.03
This activates support for fit images and some other new mkimage
features. Some of the patches were applied upstream and could be
removed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-04-18 23:59:32 +02:00
Evgeniy Didin 063fa4cfa2 tools/mkimage: copy mkenvimage to bin directory
For some boards u-boot binary environment file is required,
which is generated by mkenvimage utility. But in OpenWrt there
is no separate support for mkenvimage, which is a part of u-boot tools.
mkenvimage gets built in u-boot/tools as well as mkimage anyways.

So lets just copy mkenvimage to the $(STAGING_DIR_HOST)/bin/ directory.

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
CC: Alexey Brodkin <abrodkin@synopsys.com>
CC: Hauke Mehrtens <hauke@hauke-m.de>
CC: John Crispin <john@phrozen.org>
2018-02-13 10:01:52 +01:00
Marty Plummer 9ebb23cf51 tools/mkimage: fix musl build
Taken from: http://git.denx.de/?p=u-boot.git;a=commit;h=26e355d131a6b56ea78a156c1cee4f6ba0500b37

Signed-off-by: Marty Plummer <ntzrmtthihu777@gmail.com>
2017-08-23 15:12:15 +02:00
Jo-Philipp Wich 69be65b594 tools: mkimage: pass crypto libraries through HOST_LOADLIBES (FS#381)
Since linker argument order is significant on modern host compilers, pass
the required libcrypto libraries through the HOST_LOADLIBES variable in
order to ensure proper order of the final linker command line.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-11 03:48:30 +01:00
Jo-Philipp Wich 0c03650160 tools: mkimage: use pkg-config to discover libcrypto linker flags
LibreSSL's libcrypto.so has an indirect dependency to librt for clock_gettime()
on Linux.

Use pkg-config to portably discover the required linker flags.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-05 14:21:27 +01:00
Felix Fietkau 720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Felix Fietkau e678c9f764 mkimage: fix openssl 1.1.x compat fix with libressl
libressl sets OPENSSL_VERSION_NUMBER to 0x20000000L, which breaks API
checks based on it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-30 20:24:33 +01:00
Jo-Philipp Wich 70b104f98c tools: mkimage: fix build with OpenSSL 1.1.x (FS#182)
The OpenSSL 1.1.x version series undergone some major API changes which made
the RSA structure opaque and deprecated a number of methods, so add some
conditional compat code to make the u-boot source build again.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-11-30 18:20:32 +01:00
Matthias Schiffer c7e2a89a4d tools: mkimage: sync include/linux/compiler*.h with u-boot master
Fixes build with GCC 6.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-05-08 23:37:40 +02:00