mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-02 01:26:32 +00:00

Binman needs the ability to run fdtgrep to prepare devicetree subsets for use by SPL and TPL. Add a new bintool in preparation for this. Signed-off-by: Simon Glass <sjg@chromium.org>
241 lines
6.7 KiB
ReStructuredText
241 lines
6.7 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+
|
|
|
|
Binman bintool Documentation
|
|
============================
|
|
|
|
This file describes the bintools (binary tools) supported by binman. Bintools
|
|
are binman's name for external executables that it runs to generate or process
|
|
binaries. It is fairly easy to create new bintools. Just add a new file to the
|
|
'btool' directory. You can use existing bintools as examples.
|
|
|
|
|
|
|
|
Bintool: bootgen: Generate bootable fsbl image for zynq/zynqmp
|
|
--------------------------------------------------------------
|
|
|
|
This bintools supports running Xilinx "bootgen" in order
|
|
to generate a bootable, authenticated image form an SPL.
|
|
|
|
|
|
|
|
|
|
Bintool: bzip2: Compression/decompression using the bzip2 algorithm
|
|
-------------------------------------------------------------------
|
|
|
|
This bintool supports running `bzip2` to compress and decompress data, as
|
|
used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man bzip2
|
|
|
|
|
|
|
|
Bintool: cbfstool: Coreboot filesystem (CBFS) tool
|
|
--------------------------------------------------
|
|
|
|
This bintool supports creating new CBFS images and adding files to an
|
|
existing image, i.e. the features needed by binman.
|
|
|
|
It also supports fetching a binary cbfstool, since building it from source
|
|
is fairly slow.
|
|
|
|
Documentation about CBFS is at https://www.coreboot.org/CBFS
|
|
|
|
|
|
|
|
Bintool: cst: Image generation for U-Boot
|
|
-----------------------------------------
|
|
|
|
This bintool supports running `cst` with some basic parameters as
|
|
needed by binman.
|
|
|
|
|
|
|
|
Bintool: fdt_add_pubkey: Add public key to control dtb (spl or u-boot proper)
|
|
-----------------------------------------------------------------------------
|
|
|
|
This bintool supports running `fdt_add_pubkey`.
|
|
|
|
Normally mkimage adds signature information to the control dtb. However
|
|
binman images are built independent from each other. Thus it is required
|
|
to add the public key separately from mkimage.
|
|
|
|
|
|
|
|
Bintool: fdtgrep: Handles the 'fdtgrep' tool
|
|
--------------------------------------------
|
|
|
|
This bintool supports running `fdtgrep` with parameters suitable for
|
|
producing SPL devicetrees from the main one.
|
|
|
|
|
|
|
|
Bintool: fiptool: Image generation for ARM Trusted Firmware
|
|
-----------------------------------------------------------
|
|
|
|
This bintool supports running `fiptool` with some basic parameters as
|
|
neeed by binman.
|
|
|
|
It also supports build fiptool from source.
|
|
|
|
fiptool provides a way to package firmware in an ARM Trusted Firmware
|
|
Firmware Image Package (ATF FIP) format. It is used with Trusted Firmware A,
|
|
for example.
|
|
|
|
See `TF-A FIP tool documentation`_ for more information.
|
|
|
|
.. _`TF-A FIP tool documentation`:
|
|
https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/tools-build.html?highlight=fiptool#building-and-using-the-fip-tool
|
|
|
|
|
|
|
|
Bintool: futility: Handles the 'futility' tool
|
|
----------------------------------------------
|
|
|
|
futility (flash utility) is a tool for working with Chromium OS flash
|
|
images. This Bintool implements just the features used by Binman, related to
|
|
GBB creation and firmware signing.
|
|
|
|
A binary version of the tool can be fetched.
|
|
|
|
See `Chromium OS vboot documentation`_ for more information.
|
|
|
|
.. _`Chromium OS vboot documentation`:
|
|
https://chromium.googlesource.com/chromiumos/platform/vboot/+/refs/heads/main/_vboot_reference/README
|
|
|
|
|
|
|
|
Bintool: gzip: Compression/decompression using the gzip algorithm
|
|
-----------------------------------------------------------------
|
|
|
|
This bintool supports running `gzip` to compress and decompress data, as
|
|
used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man gzip
|
|
|
|
|
|
|
|
Bintool: ifwitool: Handles the 'ifwitool' tool
|
|
----------------------------------------------
|
|
|
|
This bintool supports running `ifwitool` with some basic parameters as
|
|
neeed by binman. It includes creating a file from a FIT as well as adding,
|
|
replacing, deleting and extracting subparts.
|
|
|
|
The tool is built as part of U-Boot, but a binary version can be fetched if
|
|
required.
|
|
|
|
ifwitool provides a way to package firmware in an Intel Firmware Image
|
|
(IFWI) file on some Intel SoCs, e.g. Apolo Lake.
|
|
|
|
|
|
|
|
Bintool: lz4: Compression/decompression using the LZ4 algorithm
|
|
---------------------------------------------------------------
|
|
|
|
This bintool supports running `lz4` to compress and decompress data, as
|
|
used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man lz4
|
|
|
|
|
|
|
|
Bintool: lzma_alone: Compression/decompression using the LZMA algorithm
|
|
-----------------------------------------------------------------------
|
|
|
|
This bintool supports running `lzma_alone` to compress and decompress data,
|
|
as used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man lzma_alone
|
|
|
|
|
|
|
|
Bintool: lzop: Compression/decompression using the lzop algorithm
|
|
-----------------------------------------------------------------
|
|
|
|
This bintool supports running `lzop` to compress and decompress data, as
|
|
used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man lzop
|
|
|
|
|
|
|
|
Bintool: mkeficapsule: Handles the 'mkeficapsule' tool
|
|
------------------------------------------------------
|
|
|
|
This bintool is used for generating the EFI capsules. The
|
|
capsule generation parameters can either be specified through
|
|
commandline, or through a config file.
|
|
|
|
|
|
|
|
Bintool: mkimage: Image generation for U-Boot
|
|
---------------------------------------------
|
|
|
|
This bintool supports running `mkimage` with some basic parameters as
|
|
needed by binman.
|
|
|
|
Normally binman uses the mkimage built by U-Boot. But when run outside the
|
|
U-Boot build system, binman can use the version installed in your system.
|
|
Support is provided for fetching this on Debian-like systems, using apt.
|
|
|
|
|
|
|
|
Bintool: openssl: openssl tool
|
|
------------------------------
|
|
|
|
This bintool supports creating new openssl certificates.
|
|
|
|
It also supports fetching a binary openssl
|
|
|
|
Documentation about openssl is at https://www.openssl.org/
|
|
|
|
|
|
|
|
Bintool: xz: Compression/decompression using the xz algorithm
|
|
-------------------------------------------------------------
|
|
|
|
This bintool supports running `xz` to compress and decompress data, as
|
|
used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man xz
|
|
|
|
|
|
|
|
Bintool: zstd: Compression/decompression using the zstd algorithm
|
|
-----------------------------------------------------------------
|
|
|
|
This bintool supports running `zstd` to compress and decompress data, as
|
|
used by binman.
|
|
|
|
It is also possible to fetch the tool, which uses `apt` to install it.
|
|
|
|
Documentation is available via::
|
|
|
|
man zstd
|
|
|
|
|
|
|