aboutsummaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2023-12-13tools: Move python tools to version 0.0.6Simon Glass5-9/+9
A new release has been done with this version, so update it. Use the version numbers in dependencies also. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-12-13patman: Update the run scriptSimon Glass1-1/+1
Patman now has its main program in a function, so update the toml file to match. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-12-13u_boot_pylib: Correct files used for pip releaseSimon Glass1-3/+2
The files list is incorrect and dates from a time when the script was run from a different directory. Update it to match all the other tools. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-12-13u_boot_pylib: Correct readme formattingSimon Glass1-1/+1
Correct a heading which is too short in the readme. Fixes: 75554dfac29 ("patman: Add support for building a u_boot_tools...") Signed-off-by: Simon Glass <sjg@chromium.org>
2023-12-13doc: Update documentation URLSimon Glass5-5/+5
Update to use the new docs.u-boot.org URL for documentation. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-12-13tools: mxsboot: pre-fill buffer with 0xff, not 0Alessandro Rubini1-1/+1
The tool works for me, with imx28 and NAND memory, but the resulting blocks are reported as bad, both by u-boot and the kernel. This makes it impossible to erase from Linux (for an upgrade without console access, for example -- u-boot can "nand scrub" but linux can't). pre-filling with 0xff creates a proper boot loader image, but no bad-block marker is there when written to flash. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Marek Vasut <marex@denx.de>
2023-11-30Merge branch 'staging' of ↵Tom Rini1-1/+2
https://source.denx.de/u-boot/custodians/u-boot-tegra into next Device tree improvents for Paz00 and DM PMIC convertion of recently merged Tegra boards.
2023-11-20mkimage: do not write incorrect error messageHeinrich Schuchardt1-1/+2
When running 'mkimage -l' is called for a valid StarFive file an error message "Error: invalid marker bytes" is written by the Renesas SPKG driver. mkimage -l may be invoked without specifying an image type. In this case mkimage iterates over all image type drivers to find the one that matches. None of the non-matching drivers should write an error message. Fix the Renesas SPKG driver. Fixes: afdfcb11f97c ("tools: spkgimage: add Renesas SPKG format") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-20Merge tag 'v2024.01-rc3' into nextTom Rini4-181/+224
Prepare v2024.01-rc3
2023-11-14patman: Correct Python 3.6 behaviourSimon Glass1-3/+3
The importlib_resources import is not actually used. Fix this so that patman can run on Python 3.6 to some extent, once 'pip3 install importlib-resources' has been run. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-14patman: Avoid using func_test at top levelSimon Glass1-1/+0
Import this only when it is needed, since it is not present when installed via 'pip install'. Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: https://source.denx.de/u-boot/u-boot/-/issues/26
2023-11-14patman: Correct easy pylint warnings in __main__Simon Glass1-16/+16
Tidy up the code a little to reduce the number of pylint warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-14patman: Move the main program into a functionSimon Glass1-60/+67
Add a new run_patman() function to hold the main logic. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-14patman: Split out arg parsing into its own fileSimon Glass2-113/+150
Move this code into a separate cmdline module, as is done with the other tools. Use the same HAS_TESTS check as buildman Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-11doc: shorten overlong title underlinesHeinrich Schuchardt1-1/+1
Title underlines should match the length of the title. Unfortunately docutils only catches underlines that are too short. Add some missing empty lines after titles. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-11-10tools: gitignore: Fix tools/generated pathSam Protsenko1-1/+1
'git status' shows 'tools/generated/' after running the build, which is wrong. The corresponding .gitignore rule was already added in commit c623642d29be ("Adjust gitignore for tools/generated/"), but because of superfluous 'tools/' part it wasn't in effect. Remove incorrect 'tools/' part to fix it. While at it, remove tools/ path incorrectly added to the top-level .gitignore in commit 801c482207c7 (".gitignore: ignore misc include, simple-bin, and tools/generated build artifacts"), as it's required in the comment on the top of .gitignore: # NOTE! Don't add files that are generated in specific # subdirectories here. Add them in the ".gitignore" file # in that subdirectory instead. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Fixes: c623642d29be ("Adjust gitignore for tools/generated/") Fixes: 801c482207c7 (".gitignore: ignore misc include, simple-bin, and tools/generated build artifacts")
2023-11-07buildman: Use oldconfig when adjusting the configSimon Glass3-2/+10
We cannot be sure that the new config is consistent, particularly when changing a major item like CONFIG_CMDLINE. Use 'make oldconfig' to check that and avoid any such problems. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-02u_boot_pylib: Ensure subprocess is closed downSimon Glass1-3/+1
It isn't clear why we need to have two different paths for closing down the pipe. Unify them and use the Python to avoid this warning: subprocess.py:1127: ResourceWarning: subprocess 83531 is still running Note that this code appears to originally have come from [1] and was committed into the ChromeOS chromiumos/platform/crosutils repo in the bin/cros_image_to_target.py file. The addition of the extra code path came later, so that is chosen for the fixes tag. [1] https://codereview.chromium.org/3391008 Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: a10fd93cbc patman: Make command methods return a CommandResult
2023-11-02buildman: Support upstream branch name containing /Simon Glass1-2/+3
Buildman assumes that branch names do not have a slash in them, since slash is used to delimit remotes, etc. This means that a branch called 'WIP/tryme' in remote dm ends up being 'tryme'. Adjust the logic a little, to try to accommodate this. For now, no tests are added for this behaviour. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-11-02binman: openssl: x509: ti_secure_rom: Add support for bootcore_optsNeha Malcom Francis5-5/+17
According to the TRMs of K3 platform of devices, the ROM boot image format specifies a "Core Options Field" that provides the capability to set the boot core in lockstep when set to 0 or to split mode when set to 2. Add support for providing the same from the binman DTS. Also modify existing test case for ensuring future coverage. Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-11-02buildman: Include symbols in the read-only data sectionSimon Glass1-1/+5
When symbols switch between the inited data section and the read-only data section their visbility changes, at present, with the -B option. This is confusing, since adding 'const' to a variable declaration can make it look like a significant improvement in bloat. But in fact nothing has changed. Add 'r' to the list of symbols types that are recorded, to correct this problem. Add a constant to make it easier to find this code next time. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Tom Rini <trini@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-11-02binman: Move stage header into a CBFS attributeSimon Glass2-29/+42
cbfsutil completely changed the way that stages are formatted in CBFS. Adjust the binman implementation to do the same. This mirrors commit 81dc20e744 in coreboot. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-02binman: Rename TYPE_STAGE to TYPE_LEGACY_STAGESimon Glass2-7/+8
In preparation for changing how stages are stored, rename the existing stage tag. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-02binman: Replace FILENAME_ALIGN 16 with ATTRIBUTE_ALIGN 4Simon Glass3-19/+20
cbfsutil changed to 4-byte alignment for filenames instead of 16. Adjust the binman implementation to do the same. This mirrors commit 5779ca718c in coreboot. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-02binman: Ensure attributes always come last in the metadataSimon Glass1-22/+24
cbfsutil changed to write zero bytes instead of 0xff when a small padding must be added. Adjust the binman implementation to do the same. Drop the code which looks for an unused attribute tag, since it is not used. A future patch moves the attributes to the end of the header in any case, so no data will follow the attributes. This mirrors commit f0cc7adb2f in coreboot. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-11-02binman: Don't add compression attribute for uncompressed filesSimon Glass3-12/+15
cbfsutil changed to skip adding a compression attribute if there is no compression. Adjust the binman implementation to do the same. This mirrors commit 105cdf5625 in coreboot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-11-02binman: Reset missing bintools after testingSimon Glass1-0/+2
For tests which fake bintools being missing, we need to reset the list afterwards, to ensure that future tests do not also see the bintools as missing. Reset the list when processing is complete. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-11-02patman: Add a 'keep_change_id' settingMaxim Cournoyer5-13/+45
A Change-Id can be useful for traceability purposes, and some projects may wish to have them preserved. This change makes it configurable via a new 'keep_change_id' setting. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-30tools: mkimage: fix sfspl_image_extract_subimage()Heinrich Schuchardt1-4/+4
Do not leak file descriptor if writing fails. Correct the error text if opening a file fails. Addresses-Coverity-ID: 467054 Resource leaks Fixes: 64fd30d367a1 ("tools: mkimage: Add StarFive SPL image support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-24patman: Add a little documentation on the checkpatch testsSimon Glass1-0/+49
These texts lack comments. Add some so that it is clearer what is going on. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-24checkpatch.pl: Make common.h check boarderTom Rini1-2/+7
At this point in time we should not add common.h to any new files, so make checkpatch.pl complain. Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: capsule: Add support for generating EFI empty capsulesSughosh Ganu8-0/+247
Add support in binman for generating EFI empty capsules. These capsules are used in the FWU A/B update feature. Also add test cases in binman for the corresponding code coverage. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13btool: mkeficapsule: Add support for EFI empty capsule generationSughosh Ganu1-0/+26
Add a method to the mkeficapsule bintool to generate empty capsules. These are capsules needed for the FWU A/B update feature. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: capsule: Use dumped capsule header contents for verificationSughosh Ganu2-47/+82
The various fields of a generated capsule are currently verified through hard-coded offsets. Use the dump-capsule feature for dumping the capsule header contents and use those for capsule verification. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: capsule: Remove superfluous [address, size]-cells propertiesSughosh Ganu8-24/+0
The #address-cells and #size-cells are not needed for running the capsule generation binman tests. Remove the superfluous properties. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13tools: mkeficapsule: Add support to print capsule headersSughosh Ganu2-1/+228
Add support to dump the contents of capsule headers. This is useful as a debug feature for checking the contents of the capsule headers, and can also be used in capsule verification. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-13binman: bintool: Change make target arg type from string to listLukas Funke3-3/+3
The argument type of `build_from_git` was changed from string to list in d71e7116997f14097735f04cc7847f0a68dbc485. This commit adapts the argument type of all bintools using this function. Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
2023-10-11Revert "mkimage: update man page and -h output"Tom Rini1-1/+1
This is part of a longer series, which isn't quite ready. Revert this for now at least. This reverts commit 4cb6c8e5f0de3c4c5f9eba51c6a1610934a8cf77. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-11mkimage: update man page and -h outputRasmus Villemoes1-1/+1
The man page correctly said that -B was ignored without -E, while the `mkimage -h` output suggested otherwise. Now that -B can actually be used by itself, update the man page. While at it, also amend the `mkimage -h` line to mention the connection with -E. The FDT header is a fixed 40 bytes, so its size cannot (and is not) modified, while its alignment is a property of the address in RAM one loads the FIT to, so not something mkimage can affect in any way. (In the file itself, the header is of course at offset 0, which has all possible alignments already.) Reported-by: Sean Anderson <seanga2@gmail.com> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-11tools: ensure zeroed padding in external FIT imagesRoman Azarenko1-3/+7
Padding the header of an external FIT image is achieved by truncating the existing temporary FIT file to match the required alignment before appending image data. Reusing an existing file this way means that the padding will likely contain a portion of the original data not overwritten by the new header. Zero out any data past the end of the new header, and stop at either the end of the desired padding, or the end of the old FIT file, whichever comes first. Fixes: 7946a814a319 ("Revert "mkimage: fit: Do not tail-pad fitImage with external data"") Signed-off-by: Roman Azarenko <roman.azarenko@iopsys.eu> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-11mkimage: allow internalization of data-positionLars Feyaerts1-5/+21
Make it possible for data that was externalized using a static external position (-p) to be internalized. Enables the ability to convert existing FIT images built with -p to be converted to a FIT image where the data is internal, to be converted to a FIT image where the data is external relative to the end of the FIT (-E) or change the initial static external position to a different static external position (-p). Removing the original external-data-related properties ensures that they're not present after conversion. Without this, they would still be present in the resulting FIT even if the FIT has been, for example, internalized. Signed-off-by: Lars Feyaerts <lars@bitbiz.be> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-09tools: iot2050-sign-fw.sh: Make localization of tools dir more robustJan Kiszka1-4/+6
When building in-tree, there is no source link. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2023-10-04Merge tag 'dm-pull-4oct23' of https://source.denx.de/u-boot/custodians/u-boot-dmWIP/04Oct2023Tom Rini1-671/+223
moveconfig: enhance output; rename to qconfig
2023-10-04qconfig: Rename the database fileSimon Glass1-2/+2
Use qconfig.db as the new name, to reflect the tool's purpose. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Rename the tool to qconfigSimon Glass1-2/+2
This does not move configs anymore, but queries them, based on a database it can build. Rename the tool to better reflect its purpose. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Move summaries to the endSimon Glass1-13/+23
Write the summary for -s and -b at the end, using a unified format. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Drop the initial outputSimon Glass1-6/+0
Since moveconfig now just does what it is told (build database or sync defconfigs) we don't need to print what it is doing. Drop this info, which is of very little use. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Show a summary at the endSimon Glass1-13/+15
Rather than printing all the failed boards, which are now easily visible on the terminal, just show a summary. Sort it by defconfig and drop the '_defconfig' suffix. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Show failures in progressSimon Glass1-7/+19
Show the number of accumulated failures when processing. Use a shorter format with colour. An unwanted space appears before the defconfig name on every item except the last. Fix that while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-04moveconfig: Use u_boot_pylib for terminal colourSimon Glass1-54/+38
Use the existing terminal code to handle ANSI colours. Enable colour by default if the output is going to a terminal. Signed-off-by: Simon Glass <sjg@chromium.org>