1.. SPDX-License-Identifier: GPL-2.0+ 2 3Binman bintool Documentation 4============================ 5 6This file describes the bintools (binary tools) supported by binman. Bintools 7are binman's name for external executables that it runs to generate or process 8binaries. It is fairly easy to create new bintools. Just add a new file to the 9'btool' directory. You can use existing bintools as examples. 10 11 12 13Bintool: bootgen: Generate bootable fsbl image for zynq/zynqmp 14-------------------------------------------------------------- 15 16This bintools supports running Xilinx "bootgen" in order 17to generate a bootable, authenticated image form an SPL. 18 19 20 21 22Bintool: bzip2: Compression/decompression using the bzip2 algorithm 23------------------------------------------------------------------- 24 25This bintool supports running `bzip2` to compress and decompress data, as 26used by binman. 27 28It is also possible to fetch the tool, which uses `apt` to install it. 29 30Documentation is available via:: 31 32 man bzip2 33 34 35 36Bintool: cbfstool: Coreboot filesystem (CBFS) tool 37-------------------------------------------------- 38 39This bintool supports creating new CBFS images and adding files to an 40existing image, i.e. the features needed by binman. 41 42It also supports fetching a binary cbfstool, since building it from source 43is fairly slow. 44 45Documentation about CBFS is at https://www.coreboot.org/CBFS 46 47 48 49Bintool: cst: Image generation for U-Boot 50----------------------------------------- 51 52This bintool supports running `cst` with some basic parameters as 53needed by binman. 54 55 56 57Bintool: fdt_add_pubkey: Add public key to control dtb (spl or u-boot proper) 58----------------------------------------------------------------------------- 59 60This bintool supports running `fdt_add_pubkey`. 61 62Normally mkimage adds signature information to the control dtb. However 63binman images are built independent from each other. Thus it is required 64to add the public key separately from mkimage. 65 66 67 68Bintool: fdtgrep: Handles the 'fdtgrep' tool 69-------------------------------------------- 70 71This bintool supports running `fdtgrep` with parameters suitable for 72producing SPL devicetrees from the main one. 73 74 75 76Bintool: fiptool: Image generation for ARM Trusted Firmware 77----------------------------------------------------------- 78 79This bintool supports running `fiptool` with some basic parameters as 80neeed by binman. 81 82It also supports build fiptool from source. 83 84fiptool provides a way to package firmware in an ARM Trusted Firmware 85Firmware Image Package (ATF FIP) format. It is used with Trusted Firmware A, 86for example. 87 88See `TF-A FIP tool documentation`_ for more information. 89 90.. _`TF-A FIP tool documentation`: 91 https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/tools-build.html?highlight=fiptool#building-and-using-the-fip-tool 92 93 94 95Bintool: futility: Handles the 'futility' tool 96---------------------------------------------- 97 98futility (flash utility) is a tool for working with Chromium OS flash 99images. This Bintool implements just the features used by Binman, related to 100GBB creation and firmware signing. 101 102A binary version of the tool can be fetched. 103 104See `Chromium OS vboot documentation`_ for more information. 105 106.. _`Chromium OS vboot documentation`: 107 https://chromium.googlesource.com/chromiumos/platform/vboot/+/refs/heads/main/_vboot_reference/README 108 109 110 111Bintool: gzip: Compression/decompression using the gzip algorithm 112----------------------------------------------------------------- 113 114This bintool supports running `gzip` to compress and decompress data, as 115used by binman. 116 117It is also possible to fetch the tool, which uses `apt` to install it. 118 119Documentation is available via:: 120 121 man gzip 122 123 124 125Bintool: ifwitool: Handles the 'ifwitool' tool 126---------------------------------------------- 127 128This bintool supports running `ifwitool` with some basic parameters as 129neeed by binman. It includes creating a file from a FIT as well as adding, 130replacing, deleting and extracting subparts. 131 132The tool is built as part of U-Boot, but a binary version can be fetched if 133required. 134 135ifwitool provides a way to package firmware in an Intel Firmware Image 136(IFWI) file on some Intel SoCs, e.g. Apolo Lake. 137 138 139 140Bintool: lz4: Compression/decompression using the LZ4 algorithm 141--------------------------------------------------------------- 142 143This bintool supports running `lz4` to compress and decompress data, as 144used by binman. 145 146It is also possible to fetch the tool, which uses `apt` to install it. 147 148Documentation is available via:: 149 150 man lz4 151 152 153 154Bintool: lzma_alone: Compression/decompression using the LZMA algorithm 155----------------------------------------------------------------------- 156 157This bintool supports running `lzma_alone` to compress and decompress data, 158as used by binman. 159 160It is also possible to fetch the tool, which uses `apt` to install it. 161 162Documentation is available via:: 163 164 man lzma_alone 165 166 167 168Bintool: lzop: Compression/decompression using the lzop algorithm 169----------------------------------------------------------------- 170 171This bintool supports running `lzop` to compress and decompress data, as 172used by binman. 173 174It is also possible to fetch the tool, which uses `apt` to install it. 175 176Documentation is available via:: 177 178 man lzop 179 180 181 182Bintool: mkeficapsule: Handles the 'mkeficapsule' tool 183------------------------------------------------------ 184 185This bintool is used for generating the EFI capsules. The 186capsule generation parameters can either be specified through 187commandline, or through a config file. 188 189 190 191Bintool: mkimage: Image generation for U-Boot 192--------------------------------------------- 193 194This bintool supports running `mkimage` with some basic parameters as 195needed by binman. 196 197Normally binman uses the mkimage built by U-Boot. But when run outside the 198U-Boot build system, binman can use the version installed in your system. 199Support is provided for fetching this on Debian-like systems, using apt. 200 201 202 203Bintool: openssl: openssl tool 204------------------------------ 205 206This bintool supports creating new openssl certificates. 207 208It also supports fetching a binary openssl 209 210Documentation about openssl is at https://www.openssl.org/ 211 212 213 214Bintool: xz: Compression/decompression using the xz algorithm 215------------------------------------------------------------- 216 217This bintool supports running `xz` to compress and decompress data, as 218used by binman. 219 220It is also possible to fetch the tool, which uses `apt` to install it. 221 222Documentation is available via:: 223 224 man xz 225 226 227 228Bintool: zstd: Compression/decompression using the zstd algorithm 229----------------------------------------------------------------- 230 231This bintool supports running `zstd` to compress and decompress data, as 232used by binman. 233 234It is also possible to fetch the tool, which uses `apt` to install it. 235 236Documentation is available via:: 237 238 man zstd 239 240 241 242