blob: 9f6cab544a5e062e69aadf7146e8cc414b4fd774 [file] [log] [blame]
Simon Glass41424862022-01-09 20:14:12 -07001.. 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
Simon Glassb20a1122024-07-20 11:49:33 +010013Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -070022Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -070036Bintool: 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
Simon Glassb20a1122024-07-20 11:49:33 +010049Bintool: cst: Image generation for U-Boot
50-----------------------------------------
51
52This bintool supports running `cst` with some basic parameters as
53needed by binman.
54
Leonard Anderweit302e0212025-02-26 22:05:01 +010055cst (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
Simon Glassb20a1122024-07-20 11:49:33 +010063
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
Simon Glassffe81382024-07-20 11:49:42 +010076Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -070084Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -0700119Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -0700133Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -0700174
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
Simon Glass41424862022-01-09 20:14:12 -0700187
188
Simon Glass12853222023-02-22 12:14:46 -0700189
Simon Glassb20a1122024-07-20 11:49:33 +0100190Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -0700199Bintool: mkimage: Image generation for U-Boot
200---------------------------------------------
201
202This bintool supports running `mkimage` with some basic parameters as
Simon Glassb20a1122024-07-20 11:49:33 +0100203needed by binman.
Simon Glass41424862022-01-09 20:14:12 -0700204
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
Simon Glassd96804b2023-07-24 09:20:00 -0600211Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -0700222Bintool: 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
Lukas Funke6c2c9e12023-07-18 13:53:16 +0200249