summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2026-03-18tools: mkeficapsule: Add support for pkcs11Wojciech Dubowik
With pkcs11 support it's now possible to specify keys with URI format. To use this feature the filename must begin "pkcs11:.." and have valid URI pointing to certificate and private key in HSM. The environment variable PKCS11_MODULE_PATH must point to the right pkcs11 provider i.e. with softhsm: export PKCS11_MODULE_PATH=<path>/libsofthsm2.so Example command line: tools/mkeficapsule --monotonic-count 1 \ --private-key "pkcs11:token=EX;object=capsule;type=private;pin-source=pin.txt" \ --certificate "pkcs11:token=EX;object=capsule;type=cert;pin-source=pin.txt" \ --index 1 \ --guid XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX \ "capsule-payload" \ "capsule.cap" Signed-off-by: Wojciech Dubowik <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2026-03-18binman: Drop the allow_failures parameter from run_test_coverage()Simon Glass
The allow_failures parameter in run_test_coverage() is no longer used by any caller. Drop it. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: Remove the coverage allow_failures listSimon Glass
Now that iMX8 has full coverage the allow_failures list in RunTestCoverage() is no longer needed. Drop the list. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Fix code coverage for iMX8 and cst bintoolSimon Glass
Three files are currently missing test coverage: nxp_imx8mcst, nxp_imx8mimage and cst Add test methods to cover all missing code paths, trying to reuse the same .dts files where possible. This brings all three files to 100% coverage. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move shared key files to test/security/Simon Glass
Move key.key and key.pem into the security/ subdirectory. These are used by security, vendor, and capsule tests but security is the most natural home for key material. Update all references. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move FIT signing test data to test/fit/Simon Glass
Move the signing-related test data (keys, certificates, OpenSSL and SoftHSM2 configuration, dummy engine source) into the fit/ subdirectory alongside the FIT DTS test files. Drop the 340_ prefix from files that had it. Update the Makefile and all ftest.py references. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move x86 binary test data to test/x86/Simon Glass
Move descriptor.bin, fitimage.bin.gz and ifwi.bin.gz into the x86/ subdirectory alongside the x86 DTS test files and update all references. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move remaining test files to test/entry/Simon Glass
Move the remaining 60 or so test files into an entry/ subdirectory. These cover general entry types and features: entry args, fill, text, env, compress, replace, template, collection, ELF, overlap, listing, sections, symlink, TEE OS, and other miscellaneous entries. Drop the numeric prefixes and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move symbol test files to test/symbols/Simon Glass
Move about 10 test files for binman symbol patching into a symbols/ subdirectory. Drop the numeric prefixes and the redundant symbols_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move vendor-specific test files to test/vendor/Simon Glass
Move about 20 test files for vendor-specific platform support (TI, NXP i.MX, Renesas R-Car, Rockchip, PowerPC MPC85xx) into a vendor/ subdirectory. Drop the numeric prefixes and update all references. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move UEFI capsule test files to test/capsule/Simon Glass
Move about a dozen test files for UEFI capsule creation (signed, versioned, accept, revert) into a capsule/ subdirectory. Drop the numeric prefixes and the redundant capsule_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move FIP/TF-A test files to test/fip/Simon Glass
Move about 15 test files for ARM Trusted Firmware FIP, ATF BL31, SCP, OpenSBI, and BL1 entries into a fip/ subdirectory. Drop the numeric prefixes and the redundant fip_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move mkimage test files to test/mkimage/Simon Glass
Move about a dozen test files for mkimage entries into a mkimage/ subdirectory. Drop the numeric prefixes and the redundant mkimage_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move ChromeOS test files to test/cros/Simon Glass
Move about 10 test files for ChromeOS entries (GBB, vblock, FMAP) into a cros/ subdirectory. Drop the numeric prefixes and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move CBFS test files to test/cbfs/Simon Glass
Move about a dozen test files for Coreboot File System entries into a cbfs/ subdirectory. Drop the numeric prefixes and the redundant cbfs_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move security test files to test/security/Simon Glass
Move about 20 test files for signing, encryption, hash, pre-load, x509, and Xilinx bootgen entries into a security/ subdirectory. Drop the numeric prefixes and update all references. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move blob test files to test/blob/Simon Glass
Move about a dozen test files for blob, blob-ext, blob-ext-list, fake-blob, and blob-symbol entries into a blob/ subdirectory. Drop the numeric prefixes and the redundant blob_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move FDT/fdtmap test files to test/fdt/Simon Glass
Move about 30 test files for FDT update, fdtmap, DTB compression, alternates, and bootph into an fdt/ subdirectory. Drop the numeric prefixes and the redundant fdt_ filename prefix, and update all references. Remove the unused no_alt_format.dts which has no references in any test. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move FIT image test files to test/fit/Simon Glass
Move about 40 test files for FIT images (signing, external data, split-elf, encryption, alignment, firmware loadables, templates) into a fit/ subdirectory. Drop the numeric prefixes and the redundant fit_ filename prefix, and update all references. Rename the three signature.dts variants to have unique names: signature.dts, signature_multi_key.dts and signature_no_nodes.dts. Signed-off-by: Simon Glass <[email protected]>
2026-03-18binman: test: Move x86 and Intel test files to test/x86/Simon Glass
Move about 40 test files for x86 and Intel platform support (ROM, microcode, ME, IFWI, FSP, descriptor, reset16, start16, FIT) into an x86/ subdirectory. Drop the numeric prefixes and the redundant x86_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move U-Boot variant test files to test/xpl/Simon Glass
Move about a dozen test files for U-Boot image variants (SPL, TPL, VPL, DTB, nodtb, bss-pad) into an xpl/ subdirectory. Drop the numeric prefixes and the redundant u_boot_ filename prefix, and update all references. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Move pack/layout test files to test/pack/Simon Glass
Move about 50 test files related to basic layout, packing, alignment, sections, and image structure into a pack/ subdirectory. Drop the numeric prefixes from the filenames and update all references in ftest.py, entry_test.py, and binman_tests.rst Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-18binman: test: Capture output from tests with warningsSimon Glass
Tests are supposed to run silently and capture any output produced. Fix testRemoveTemplate() so that the message about the missing openssl is captured, along with the invalid-images message. Fix testNxpImx9Image() as well, since it is expected that container.img and bl31.bin are missing. Signed-off-by: Simon Glass <[email protected]>
2026-03-10kbuild: fix cross_tools compilationIlias Apalodimas
Frieder reports that after the kbuild sync running make tools-only_defconfig make cross_tools fails with UPD include/generated/timestamp_autogenerated.h PYMOD rebuild tools/Makefile:359: *** insufficient number of arguments (1) to function 'filter'. Stop. make: *** [Makefile:2191: tools] Error 2 After the sync 'hostprogs-always-y' contains the complete list of the tools we need to strip, so the $(filter) command is not needed. Fixes: bd3f9ee679b4d ("kbuild: Bump the build system to 6.1") Reported-by: Frieder Schrempf <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Frieder Schrempf <[email protected]>
2026-03-10Merge tag 'u-boot-rockchip-20260309' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip into next CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/29452 - New SoC support: RK3506, RK3582; - New Board support: RK3528 FriendlyElec NanoPi Zero2; - Other fixes
2026-03-10rockchip: mkimage: Add support for RK3506Xuhui Lin
Add support for generating Rockchip Boot Image for RK3506. The RK3506 has 48 KiB SRAM and 4 KiB is reserved for BootROM. Signed-off-by: Xuhui Lin <[email protected]> Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Aaron Griffith <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: mkimage: Re-sort the spl_infos list alphanumericallyJonas Karlman
The first RK35xx SoC was initially appended to the end of the otherwise alphanumerically sorted spl_infos list, possible because it was using a new header structure. Re-sort the spl_infos list to keep it alphanumerically ordered based on imagename. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-09Merge tag 'v2026.04-rc4' into nextTom Rini
Prepare v2026.04-rc4
2026-03-06fw_env: drop unneeded variables from flash_write_buf()Rafał Miłecki
Recent cleanups made some variables redundant. Both: "blocklen" and "erase_len" ended up being used as temporary variables used locally in some short code paths. Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-06fw_env: move "erasesize" calculation up in a codeRafał Miłecki
Calculate "erasesize" in the same place where other offsets and lengths / sizes are calculated. It makes code more consistent and will allow further cleanups. Signed-off-by: Rafał Miłecki <[email protected]>
2026-03-06fw_env: unify calculation of "blockstart" in flash_write_buf()Rafał Miłecki
In both code paths "blockstart" is calculated the same way. Unify it. Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-06fw_env: add ROUND_UP() helperRafał Miłecki
We already have DIV_ROUND_UP() to simplify code so add ROUND_UP() as well. This makes code in flash_write_buf() easier to follow. Signed-off-by: Rafał Miłecki <[email protected]>
2026-03-06fw_env: allocate buffer of proper size in flash_write_buf()Rafał Miłecki
When dealing with env data not aligned to flash blocks flash_write_buf() has to use an extra buffer. It reads existing flash content to it, modifies required part and writes it back. While reading and writing a size stored in "write_total" is used. It's what should be used when allocating the buffer too. In some cases allocating memory of "erase_len" size could result in allocating too big buffer. That wouldn't break anything but it was making code less intuitive. Signed-off-by: Rafał Miłecki <[email protected]>
2026-03-06fw_env: use "erasesize" variable in writing loopRafał Miłecki
Use "erasesize" instead of "blocklen" in flash_write_buf()'s loop. This change touches code executed for bad NAND blocks so it doesn't affect any behaviour (for NAND flashes "blocklen" and "erasesize" are equal). This just makes code a bit more consistent as "erasesize" is what is used all around inside the writing loop. Signed-off-by: Rafał Miłecki <[email protected]>
2026-03-04tools/atmelimage: add const qualifier to fix compiler warningDaniel Golle
More strict checks in GCC 15 expose a new warning: tools/atmelimage.c: In function ‘atmel_find_pmecc_parameter_in_token’: tools/atmelimage.c:64:31: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] 64 | param = strstr(token, "="); | ^ cc1: all warnings being treated as errors Add 'const' qualifier to variable 'param' to prevent build failing due to -Werror. Signed-off-by: Daniel Golle <[email protected]>
2026-02-06CI: Update to using grub-2.14 for our testsTom Rini
When building grub-2.12 with a newer GCC, we run in to warings (treated as errors). The simple fix here is to move to the latest release tag. In order to build a newer grub from source we need the autoconf-archive package to be installed. Signed-off-by: Tom Rini <[email protected]>
2026-02-03tools: sunxi-spl-image-builder: support H6/H616 NAND bootRichard Genoud
The H6/H616 boot ROM doesn't expect a SPL scrambled the same way as older SoCs. It doesn't use a specific seeds table, it expects a maximized ECC (BCH-80), a specific BBM (FF000301) and doesn't work if empty pages are skipped (it needs its specific BBM, even in the padding). So, add a --soc=h6 option to support H6/616 with: - more ECC strengths - specific BBM - default_scrambler_seeds[] with all values - no empty pages skip In Kconfig, select BCH-80 by default for SUNXI_SPL_ECC_STRENGTH to make BROM happy. And in scripts/Makefile.xpl, use --soc=h6 option when building for a SUN50I_GEN_H6 SoC. Tested on Whatsminer H616 board, booting from NAND. Reviewed-by: Miquel Raynal <[email protected]> Co-developed-by: James Hilliard <[email protected]> Signed-off-by: James Hilliard <[email protected]> Signed-off-by: Richard Genoud <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2026-02-02mkimage: fit: align DTs in external data to 8 Bytes by defaultMarek Vasut
Unless specified otherwise using the mkimage -B n option, align DTs in fitImage external data to 8 Bytes, and retain alignment of everything else to 4 Bytes. This should fulfill the DTspec requirement, that DTs must be placed at 8 Byte aligned addresses, even for DTs that are part of fitImage with external data. For fitImage with embedded data, there is nothing we can do, as the embedded data are aligned to 4 Bytes, just like any other DT property. Replace fdtdec_get_child_count() counting of images with counting of padding using fdt_for_each_subnode(). This is much more useful, as the added up padding can be passed directly to calloc() when allocating the buffer which holds the external data. The image count is no longer needed. Adjust the image layouting such, that buf_ptr is incremented to place the next image at align_size aligned offset. This is done at the beginning of the loop, once the align_size for current image can be determined from the current image type. Update binman test to validate the new 8 Byte alignment. Signed-off-by: Marek Vasut <[email protected]>
2026-01-28tools: Handle realloc failure in strlist_addFrancois Berder
If realloc fails, list->strings was set to NULL and it would create a leak. This commit ensures that if we cannot add a string to the list, the list stays in a good state. Signed-off-by: Francois Berder <[email protected]>
2026-01-27binman: Regenerate expired test certificateSimon Glass
The test certificate expired on Feb 13, 2024. This just used for testing, so regenerate it with a 100-year validity period. Suggested-by: Quentin Schulz <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-01-23Merge patch series "sc5xx: Add complete board support for all ADI SC5xx boards"Tom Rini
Greg Malysa <[email protected]> says: This series adds the final pieces to enable mainline U-Boot to build and boot all Analog Devices SC5xx SoCs and supports the associated carrier board options. At this point it should be viable for new users for these platforms to start with the latest version of U-Boot rather than our vendor fork, however some features (such as OSPI support and falcon boot) remain unavailable until we are able to unify our implementations with the mainline implementations. Link: https://lore.kernel.org/r/[email protected] [trini: Rebuild CI containers to have new tools] Signed-off-by: Tom Rini <[email protected]>
2026-01-23docker: add Analog Devices tools to docker imageGreg Malysa
The boot ROM on Analog Devices ADSP-SC5xx SoCs requires code packaged in the LDR format. Normally this is available as part of our yocto-derived toolchain but, it is not a part of any other pre-made toolchain anymore, so it is otherwise unavailable in the docker image for CI. This patch adds a source build from the ADI maintained github repository. In the future, a package available for install via apt will be available, but currently there is no arm64 build upstream, so we must build from source for the time being to support CI on both amd64 and arm64 runners. The same ldr tool is used for arm and arm64 for all of our boards with names adjusted to match the expected $(CROSS_COMPILE) for these boards. Signed-off-by: Greg Malysa <[email protected]>
2026-01-19test/py, buildman: Update filelock package versionTom Rini
The GitHub dependabot tool has reported a "medium" priority bug CVE-2026-22701, with this package. Update to the patched version. Reported-by: GitHub dependabot Signed-off-by: Tom Rini <[email protected]>
2026-01-19tools: amlimage: include <inttypes.h>Robert Marko
PRIuN, PRIxN, etc macros are defined in <inttypes.h>, without it being included errors like: tools/amlimage.c:124:38: error: expected ‘)’ before ‘PRIu8’ tools/amlimage.c:126:31: error: expected ‘)’ before ‘PRIu32’ Can be hit depending on the host compiler and HOSTCFLAGS. Fixes: 18c1654567dc ("tools: mkimage: Add Amlogic Boot Image type") Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Ferass El Hafidi <[email protected]>
2026-01-17tools: fix format string in tools/imx8image.cMilan P. Stanić
on 32bit systems with musl libc compiler emits warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Wformat=] to fix this use format length modifier 'z' (size_t) instead of 'l' Signed-off-by: Milan P. Stanić <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-01-05scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47cMarek Vasut
Synchronize local copy of DTC with Linux 6.17 . This includes the following picked and squashed commits from Linux kernel. The squash was necessary, since the DTC here contains changes which were also part of DTC in Linux alraedy, and the squash helped resolve those without going back and forth with the changes. The following commits from Linux are picked: 8f324cd712df7 # scripts/dtc: consolidate include path options in Makefile b5b3d9b63b0ee # scripts/dtc: Add yamltree.c to dtc sources 7d97a76f226d6 # scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4 ea6f243be74e5 # scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145 02d435d4eccd8 # scripts/dtc: Update to upstream version v1.5.0-23-g87963ee20693 6e321b7637396 # scripts/dtc: Update to upstream version v1.5.0-30-g702c1b6c0e73 9f19ec91a7a35 # scripts/dtc: dtx_diff - add color output support 8287d642f38d1 # scripts/dtc: Update to upstream version v1.5.1-22-gc40aeb60b47a 4c52deef9225d # scripts/dtc: Revert "yamltree: Ensure consistent bracketing of properties with phandles" 5d3827e1452ed # scripts/dtc: Remove unused makefile fragments 40dd266887654 # scripts/dtc: Update to upstream version v1.6.0-2-g87a656ae5ff9 8d4cf6b6acb59 # scripts/dtc: use pkg-config to include <yaml.h> in non-standard path b9bf9ace5ae90 # scripts/dtc: Update to upstream version v1.6.0-11-g9d7888cbf19c 69a883b6f5ac0 # scripts/dtc: dtx_diff - make help text formatting consistent 8f829108b8aed # scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting b39b4342ac495 # scripts/dtc: Update to upstream version v1.6.0-31-gcbca977ea121 93c6424c486b3 # scripts: dtc: Fetch fdtoverlay.c from external DTC project 0dd574a1d75c3 # scripts/dtc: Update to upstream version v1.6.0-51-g183df9e9c2b9 ec38b5df8a231 # scripts: dtc: Build fdtoverlay tool a0c8c431411f5 # scripts: dtc: Remove the unused fdtdump.c file e7dc653d4e890 # scripts/dtc: Add missing fdtoverlay to gitignore d2bf5d2e3f09c # scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8 a60878f5532d0 # scripts/dtc: dtx_diff: remove broken example from help text 8b739d8658a9b # scripts/dtc: Call pkg-config POSIXly correct b6eeafa67df00 # scripts/dtc: Update to upstream version v1.6.1-63-g55778a03df61 f96cc4c787588 # scripts/dtc: Update to upstream version v1.6.1-66-gabbd523bae6e 09ab9c092ef2b # scripts/dtc: Update to upstream version v1.7.0-93-g1df7b047fe43 ded8a5a498f2d # scripts/dtc: Update to upstream version v1.7.0-95-gbcd02b523429 ee6ff6fca7e71 # scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c This also includes forward port of U-Boot commit e8c2d25845c7 ("libfdt: Revert 6dcb8ba4 from upstream libfdt") to avoid binary size growth. Signed-off-by: Marek Vasut <[email protected]>
2026-01-02kbuild: Bump the build system to 6.1Sughosh Ganu
Our last sync with the kernel was 5.1. We are so out of sync now, that tracking the patches and backporting them one by one makes little sense and it's going to take ages. This is an attempt to sync up Makefiles to 6.1. Unfortunately due to sheer amount of patches this is not easy to review, but that's what we decided during a community call for the bump to 5.1, so we are following the same guidelines here. Signed-off-by: Sughosh Ganu <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>a #rebased on -next
2025-12-22Merge tag 'v2026.01-rc5' into nextTom Rini
Prepare v2026.01-rc5
2025-12-19Merge tag 'u-boot-amlogic-next-20251219' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - Add u-boot SPL support for GX SoCs - meson_gx_mmc: reduce maximum frequency - Add support for EFI capsule updates on all Amlogic boards
2025-12-18test/py, buildman: Update filelock package versionTom Rini
The GitHub dependabot tool has reported a "medium" priority bug CVE-2025-68146, with this package. Update to the patched version. Reported-by: GitHub dependabot Signed-off-by: Tom Rini <[email protected]>