blob: cd05ad8cb26dd5082a5eef59e47dd37b47e8e864 [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
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
Simon Glassffe81382024-07-20 11:49:42 +010068Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -070076Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -0700111Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -0700125Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -0700166
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
Simon Glass41424862022-01-09 20:14:12 -0700179
180
Simon Glass12853222023-02-22 12:14:46 -0700181
Simon Glassb20a1122024-07-20 11:49:33 +0100182Bintool: 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
Simon Glass41424862022-01-09 20:14:12 -0700191Bintool: mkimage: Image generation for U-Boot
192---------------------------------------------
193
194This bintool supports running `mkimage` with some basic parameters as
Simon Glassb20a1122024-07-20 11:49:33 +0100195needed by binman.
Simon Glass41424862022-01-09 20:14:12 -0700196
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
Simon Glassd96804b2023-07-24 09:20:00 -0600203Bintool: 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
Simon Glass12853222023-02-22 12:14:46 -0700214Bintool: 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
Lukas Funke6c2c9e12023-07-18 13:53:16 +0200241