summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2025-06-26binman: drop "faked" return value from check_fake_fnameYannic Moog
check_fake_fname sets the faked member of the entry. Use that member to get the faked status instead of a returned value indicating the same. Add type annotations to the modified functions while at it. Signed-off-by: Yannic Moog <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2025-06-26Merge patch series "add a few entries into missing-blob-help"Tom Rini
Bryan Brattlof <[email protected]> says: Now that TIFS and DM firmwares are marked as mandatory items for a successful build[0] we should provide some more descriptive help text on where to get the firmware in the event they are not found and add links to more information about them. We do need to expand the regex to allow the '.' dot in 'ti-fs-enc.bin' so we can add it to the list which was the lesser number of lines changed than renaming all these entries to 'tifs' or 'ti-fs' which the current regex will match. Link: https://lore.kernel.org/r/[email protected]
2025-06-26Merge patch series "mkimage: validate image references in FIT configurations"Tom Rini
Aristo Chen <[email protected]> says: This series introduces a validation step in mkimage to ensure that all image names referenced under the /configurations node of a FIT source (ITS) are actually defined under the /images node. ### Motivation When using mkimage to build FIT images, it's easy to mistakenly reference nonexistent image nodes in configurations (e.g., referencing a missing `fdt` or `firmware` node). Such issues are often not caught until runtime in U-Boot. This series aims to catch these errors early during FIT image creation by validating the configuration references in mkimage itself. Link: https://lore.kernel.org/r/[email protected]
2025-06-26binmain: include ti-fs-enc.bin into missing-blob-helpBryan Brattlof
Now that the TIFS firmware is marked as a mandatory component to a successful build, provide some helpful descriptions to what it is and links to more information about how to get this needed firmware. Signed-off-by: Bryan Brattlof <[email protected]>
2025-06-26binman: allow '.' to be included in the missing blob tagsBryan Brattlof
Extend the regex to add periods '.' in the tag so entries like ti-fs-enc.bin can be represented in the missing-blob-help file. Signed-off-by: Bryan Brattlof <[email protected]>
2025-06-26binman: add sysfw-inner-cert to missing-blob-helpBryan Brattlof
Now that the inner certificate for TI's Foundation Security TIFS firmware is mandatory to a successful build, provide some guidance on what it is and links to the documentation on how to obtain the firmware blobs. Reviewed-by: Anshul Dalal <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]>
2025-06-26binman: add ti-dm entry to missing-blob-helpBryan Brattlof
Now that ti-dm is marked as a mandatory component for a successful build, adding some helping text about how to resolve a failed build will be needed. Add some text around what ti-dm is and links to more documentation on how to obtain the firmware binaries Reviewed-by: Anshul Dalal <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]>
2025-06-26binman: alphabetize missing-blob entriesBryan Brattlof
As the list of entries grows let's alphabetize the list to make searching a little easier. No functional changes intended Reviewed-by: Anshul Dalal <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]>
2025-06-26binman: test: Ensure all config references exist in /images nodeAristo Chen
Several binman FIT test device trees reference image nodes such as atf and uboot in their /configurations sections, but those image nodes were not actually defined in the /images node. This mismatch can lead to validation errors when stricter consistency checks are introduced. This patch adds minimal definitions for atf and uboot under the /images node in all relevant test DTS files. Signed-off-by: Aristo Chen <[email protected]>
2025-06-26tools: mkimage: validate image references in FIT configurationsAristo Chen
When parsing a FIT image source (ITS), mkimage does not currently check whether the image names referenced in the /configurations section (e.g. "kernel", "fdt", "ramdisk", "loadables") actually exist in the /images node. This patch introduces a validation step during FIT import that iterates over each configuration and verifies that all referenced image names are defined under /images. If a missing image is detected, an appropriate error is reported and mkimage exits with FDT_ERR_NOTFOUND. This ensures that configuration integrity is validated at build time. Signed-off-by: Aristo Chen <[email protected]>
2025-06-26tools: mkimage: propagate error codes from fit_handle_file()Aristo Chen
The fit_handle_file() function previously returned a hardcoded -1 on error. This change updates the logic to return the actual error code stored in `ret`, allowing for error propagation. This improves debuggability and enables downstream callers to distinguish different failure causes, such as FDT_ERR_NOTFOUND or other errors. Signed-off-by: Aristo Chen <[email protected]>
2025-06-25binman: openssl: disable JTAG access by defaultBryan Brattlof
Typically boards operating in production environments will not be monitored and so will not need JTAG access unlocked. Disable the debug extension by default (set debugType = 0) unless we add the 'debug' property in the binman configs. Acked-by: Andrew Davis <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]>
2025-06-24tools: imx8image: Fix the value passed to dcd_skip of build_container()Alice Guo
The value passed to dcd_skip of build_container() should be obtained by parsing .cfg file, and should not be fixed to false. For i.MX8QXP, dcd data needs to be skipped, in which case dcd_skip should be true. Fixes: 5f28a6599f01("tools: imx8image: add i.MX95 support") Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reported-by: Enric Balletbo i Serra <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2025-06-23Merge tag 'v2025.07-rc5' into nextTom Rini
Prepare v2025.07-rc5 With this merge, tighten up the LTO_FLAGS removal we added to not trigger on ARMv7 (which is Thumb-2 and should be fine).
2025-06-22tools/fit_check_sign: make the module dependent on CONFIG_FIT_SIGNATUREShiji Yang
The function definition of fit_check_sign() is guarded by "#ifdef CONFIG_FIT_SIGNATURE" in "tools/image-host.c". If we try to build it without CONFIG_FIT_SIGNATURE, we will get an error: /usr/bin/ld: tools/fit_check_sign.o: in function `main': fit_check_sign.c:(.text.startup+0x165): undefined reference to `fit_check_sign' collect2: error: ld returned 1 exit status Fixes: 9c79c8fe70da ("tools/fit_check_sign: make key optional") Signed-off-by: Shiji Yang <[email protected]>
2025-06-22lib: rsa: fix compilation error without opensslShiji Yang
The symbol TOOLS_IMAGE_PRE_LOAD doesn't depend on TOOLS_LIBCRYPTO. If we choose to build tools without openssl, rsa_verify_openssl() will attempt to call the unavailable openssl library functions. Fixes: 942c8c8e6697 ("rsa: Add rsa_verify_openssl() to use openssl for host builds") Signed-off-by: Shiji Yang <[email protected]>
2025-06-20Merge patch series "Consistent Kconfig environment options CONFIG_ENV_ prefix"Tom Rini
Marek Vasut <[email protected]> says: Rename the environment related variables and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Link: https://lore.kernel.org/r/[email protected]
2025-06-20env: Rename SYS_REDUNDAND_ENVIRONMENT to ENV_REDUNDANTMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-06-14Merge patch series "Hex value prefix case cleanup"Tom Rini
E Shattow <[email protected]> says: Make consistent use of lowercase hexadecimal prefix '0x' throughout U-Boot. There are a few remaining uses of uppercase 'X' to denote hexadecimal prefix or placeholder in documentation and error messages. External devicetree-rebasing dts/upstream and the generated code of xilinx/zynq are ignored for the series. Link: https://lore.kernel.org/r/[email protected]
2025-06-14tools: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in tools/* Signed-off-by: E Shattow <[email protected]>
2025-06-12binman: add atf-bl1 to etypesBryan Brattlof
Some SoCs require a Trusted Firmware-A (TF-A) AP Trusted ROM (BL1) to initialize the SoC before U-Boot can run properly. Add an atf-bl1 etype so we can properly package BL1 into a final binary Signed-off-by: Bryan Brattlof <[email protected]> Acked-by: Simon Glass <[email protected]>
2025-06-11tools: stm32image: Add support for STM32 Image V2.0Marek Vasut
Add support for generating STM32 Image V2.0, which is used by STM32MP13xx. The image header layout is similar to STM32MP15xx STM32 Image V1.0, but is different enough to justify duplicate functions to generate the v2 image. This code at least attempts to align the V1 and V2 image handling where possible. Signed-off-by: Marek Vasut <[email protected]>
2025-06-03tools: fix handle leak in ifdtool.cAnton Moryakov
Prevent file descriptor leaks by properly closing 'fd' and 'new_fd' when fstat() or write() operations fail. - Added close(fd) before return in open_for_read() if fstat() fails. - Added close(new_fd) before return in write_image() if write() fails. - No close needed if open() fails (fd == -1 is invalid). Signed-off-by: Anton Moryakov <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-05-27patman: Add basic documentation for new featuresSimon Glass
Describe the new subcommands and how they should be used in a normal workflow. Note that the naming of branches is very rigid, or 'opinionated' in marketing terms. Patman can track a single branch for each version of a series and they must all be named the same, except for the version-number suffix. Version 1 series have no suffix. This description is fairly bare-bones but should be enough for some initial testing and comments. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add tests for CseriesSimon Glass
Add various tests for the Cseries functionality, including both direct and via-cmdline variants. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Implement the upstream subcommandSimon Glass
Add a command to allow managing the upstream tree. This is very basic so far, only allowing setting the name and URL. Further work may allow checking whether series apply cleaning on the upstream tree, etc. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Implement the series subcommandSimon Glass
Add a command to support management of series. These are local branches which may have been sent to the mailing list, so may appear on the patchwork server. The new functionality uses a database, stored in a local file. Various operations are supported: - add a new series - send a series and automatically link it with patchwork - 'increment' the version, to prepare to send an updated series - gather review/test tags from patchwork - check on progress, i.e. patches which are received new tags or comments - show comments on patches and cover letters Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Update send function to return whether it sentSimon Glass
Indicate whether 'git send-email' was actually called, so that we don't bother waiting for patchwork to receive our series if it wasn't. The 'git send-email' seems to always return a code of 0 even if nothing was sent, so we cannot use clues there. Ideally we would watch the output to determine which patches were sent and which not, but that is left for another day. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Support aliases for commands and subcommandsSimon Glass
It is laborious to type long commands, so add some aliases to speed up use of patman. For now, allow 'pw' for patchwork and 'st' for status. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Implement the patchwork subcommandSimon Glass
Add a command to allow setting and getting the patchwork project. This is needed so that patman can use the correct ID when talking to the patchwork server. To support testing, allow passing in the test database, patchwork object and Cseries object. Fake versions can then easily be provided for certain test cases. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Improve Series support for patchwork linksSimon Glass
Update Series with a way to better manage the Series-links lines in patches. Use this in the 'status' subcommand instead of the existing primitive method of expecting a link without a version prefix. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Introduce basic database support in SeriesSimon Glass
This class manages a series, i.e. a group of patches with a possible cover letter. Add some properties for recording basic patchwork info, including the database ID. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Support returning the parsers to useSimon Glass
The parsing tests need to be able to try invalid arguments to make sure that these are handled correctly. Provide a way to return the parsers being used, as well as to pass in the parsers to use. This feature is needed in test_series_no_subcmd(), for example. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Use -c to show patch commentsSimon Glass
We chose -C as the flag to enable showing comments because -c was used in 'patman send' to specify the patch count. Now that the 'send' parser is separated we don't need to do this and it is OK to use the same flag in a different subcommand. We want to have a flag for cover-letter comments, so it makes most sense to have -C for that and -c for patch comments. Update the latter. Put this in a function since the new 'series' command will add this flag too. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Enhance implementation of file-based defaultsSimon Glass
Patman allows defaults for its command-line flags to be read from a file. The implementation of this does not fully work with subcommands, since we don't want a default for those. Also, it relies on being able to parse any sort of cmdline in order to figure out the options that are available. But in some cases, the cmdline may not parse, e.g. if there are required options, or conflicting options. Add a class which can be safely used to parse any cmdline, since it allows execution to continue even when errors are obtained. Use this to determine the defaults, being careful to skip sub/commands. Another way to handle all of this would be to maintain the defaults separately and insert them into the parser manually. For now, I'm not sure which is best. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Enhance patchwork interface to support CseriesSimon Glass
Add various new requests to the Patchwork class, so we can obtain the required information. This includes cover letters and comments. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Update status command support cover-letter infoSimon Glass
Add support to the status module for reading and supporting cover letters, including comments. Plumb this through to the patchwork module. The actual support in the latter is not yet integrated. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add a Cseries classSimon Glass
This is the main class for dealing with series, across branches and the database. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add a helper for managing cseriesSimon Glass
Add a module which includes helper functions for dealing with Cseries objects. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add a simple database implementationSimon Glass
For recording series information, patman needs a database. Add a module which uses sqlite3 for this. It has a basic schema, enough to support a series subcommand. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Avoid touching the system or local configSimon Glass
Set the git variables to ensure that any local gitconfig is not used or affected by the tests. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add a fourth series for testingSimon Glass
Create one more series to use for testing. This one has four separate patches. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Move common test code into a new moduleSimon Glass
The func_test file is quite large. In order to allow new tests to be added to a separate file, move the common test code into a separate class, to be inherited by other classes. Drop unnecessary imports in func_test Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add a test for collecting a PATCH prefixSimon Glass
Add one more test for completeness, since this occurs commonly. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Use python3 with /usr/bin/envSimon Glass
If python2 is available then we must specify python3 here. Update the test to handle this. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Add more functions to gitutilSimon Glass
Add functions for checking a branch, showing a commit, etc. to support the new functionality. Git version 2.34.1 ignores --stat if --quiet is given, so adjust the args so that this performs as expected. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Deal with git safe-directory warningSimon Glass
When running tests where the .git directory is not owned by the current user, various warnings are produced and the tests fail. This happens in CI. For patman itself, modify the gitutil.get_top_level() function to return None in this case. Ensure that the warning is not shown, since it creates about 1000 lines of output. For checkpatch, the same warning is produced even though --no-tree is given. Suppress that as well. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Correct pylint warnings in gitutilSimon Glass
Correct various pylint warnings in this file. The remaining ones are three functions with too many arguments (R0913 and R0918) and use of global (W0603). Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Support collecting all lines in the commit messageSimon Glass
In some cases we want to collect all lines in the commit message so that the commit can be recreated with the same message as before, or perhaps with light filtering. Add support for this. Series-to: u-boot Cover-letter: patman: Minor improvements to prepare for series handling This series includes a number of internal improvements to patman: - Tidy-up of parsing - Adjust how tests create the git tree - Support for creating patches in a different git directory - Faster determination of the upstream branch - Ability to collect the body of a commit message as a series of lines END Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Tidy up function comments in the series moduleSimon Glass
This module is missing some comments, so add them. Signed-off-by: Simon Glass <[email protected]>