| .. 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 | |