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 55cst (imx code signing tool) is used for sigining bootloader binaries for 56various i.MX SoCs. 57 58See `Code Signing Tool Users Guide`_ for more information. 59 60.. _`Code Signing Tool Users Guide`: 61 https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/202591/1/CST_UG.pdf 62 63 64 65Bintool: fdt_add_pubkey: Add public key to control dtb (spl or u-boot proper) 66----------------------------------------------------------------------------- 67 68This bintool supports running `fdt_add_pubkey`. 69 70Normally mkimage adds signature information to the control dtb. However 71binman images are built independent from each other. Thus it is required 72to add the public key separately from mkimage. 73 74 75 76Bintool: fdtgrep: Handles the 'fdtgrep' tool 77-------------------------------------------- 78 79This bintool supports running `fdtgrep` with parameters suitable for 80producing SPL devicetrees from the main one. 81 82 83 84Bintool: fiptool: Image generation for ARM Trusted Firmware 85----------------------------------------------------------- 86 87This bintool supports running `fiptool` with some basic parameters as 88neeed by binman. 89 90It also supports build fiptool from source. 91 92fiptool provides a way to package firmware in an ARM Trusted Firmware 93Firmware Image Package (ATF FIP) format. It is used with Trusted Firmware A, 94for example. 95 96See `TF-A FIP tool documentation`_ for more information. 97 98.. _`TF-A FIP tool documentation`: 99 https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/tools-build.html?highlight=fiptool#building-and-using-the-fip-tool 100 101 102 103Bintool: futility: Handles the 'futility' tool 104---------------------------------------------- 105 106futility (flash utility) is a tool for working with Chromium OS flash 107images. This Bintool implements just the features used by Binman, related to 108GBB creation and firmware signing. 109 110A binary version of the tool can be fetched. 111 112See `Chromium OS vboot documentation`_ for more information. 113 114.. _`Chromium OS vboot documentation`: 115 https://chromium.googlesource.com/chromiumos/platform/vboot/+/refs/heads/main/_vboot_reference/README 116 117 118 119Bintool: gzip: Compression/decompression using the gzip algorithm 120----------------------------------------------------------------- 121 122This bintool supports running `gzip` to compress and decompress data, as 123used by binman. 124 125It is also possible to fetch the tool, which uses `apt` to install it. 126 127Documentation is available via:: 128 129 man gzip 130 131 132 133Bintool: ifwitool: Handles the 'ifwitool' tool 134---------------------------------------------- 135 136This bintool supports running `ifwitool` with some basic parameters as 137neeed by binman. It includes creating a file from a FIT as well as adding, 138replacing, deleting and extracting subparts. 139 140The tool is built as part of U-Boot, but a binary version can be fetched if 141required. 142 143ifwitool provides a way to package firmware in an Intel Firmware Image 144(IFWI) file on some Intel SoCs, e.g. Apolo Lake. 145 146 147 148Bintool: lz4: Compression/decompression using the LZ4 algorithm 149--------------------------------------------------------------- 150 151This bintool supports running `lz4` to compress and decompress data, as 152used by binman. 153 154It is also possible to fetch the tool, which uses `apt` to install it. 155 156Documentation is available via:: 157 158 man lz4 159 160 161 162Bintool: lzma_alone: Compression/decompression using the LZMA algorithm 163----------------------------------------------------------------------- 164 165This bintool supports running `lzma_alone` to compress and decompress data, 166as used by binman. 167 168It is also possible to fetch the tool, which uses `apt` to install it. 169 170Documentation is available via:: 171 172 man lzma_alone 173 174 175 176Bintool: lzop: Compression/decompression using the lzop algorithm 177----------------------------------------------------------------- 178 179This bintool supports running `lzop` to compress and decompress data, as 180used by binman. 181 182It is also possible to fetch the tool, which uses `apt` to install it. 183 184Documentation is available via:: 185 186 man lzop 187 188 189 190Bintool: mkeficapsule: Handles the 'mkeficapsule' tool 191------------------------------------------------------ 192 193This bintool is used for generating the EFI capsules. The 194capsule generation parameters can either be specified through 195commandline, or through a config file. 196 197 198 199Bintool: mkimage: Image generation for U-Boot 200--------------------------------------------- 201 202This bintool supports running `mkimage` with some basic parameters as 203needed by binman. 204 205Normally binman uses the mkimage built by U-Boot. But when run outside the 206U-Boot build system, binman can use the version installed in your system. 207Support is provided for fetching this on Debian-like systems, using apt. 208 209 210 211Bintool: openssl: openssl tool 212------------------------------ 213 214This bintool supports creating new openssl certificates. 215 216It also supports fetching a binary openssl 217 218Documentation about openssl is at https://www.openssl.org/ 219 220 221 222Bintool: xz: Compression/decompression using the xz algorithm 223------------------------------------------------------------- 224 225This bintool supports running `xz` to compress and decompress data, as 226used by binman. 227 228It is also possible to fetch the tool, which uses `apt` to install it. 229 230Documentation is available via:: 231 232 man xz 233 234 235 236Bintool: zstd: Compression/decompression using the zstd algorithm 237----------------------------------------------------------------- 238 239This bintool supports running `zstd` to compress and decompress data, as 240used by binman. 241 242It is also possible to fetch the tool, which uses `apt` to install it. 243 244Documentation is available via:: 245 246 man zstd 247 248 249 250