mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 21:13:48 +00:00
7f51fe5c6d
Add the Xilinx Bootgen as bintool. Xilinx Bootgen is used to create bootable SPL (FSBL in Xilinx terms) images for Zynq/ZynqMP devices. The btool creates a signed version of the SPL. Additionally to signing the key source for the decryption engine can be passend to the boot image. Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com>
218 lines
6.2 KiB
ReStructuredText
218 lines
6.2 KiB
ReStructuredText
.. 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: 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: 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: mkimage: Image generation for U-Boot
|
|
---------------------------------------------
|
|
|
|
This bintool supports running `mkimage` with some basic parameters as
|
|
neeed 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
|
|
|
|
|
|
|
|
Bintool: fdt_add_pubkey: Add public key to device tree
|
|
------------------------------------------------------
|
|
|
|
This bintool supports running `fdt_add_pubkey` in order to add a public
|
|
key coming from a certificate to a device-tree.
|
|
|
|
Normally signing is done using `mkimage` in context of `binman sign`. However,
|
|
in this process the public key is not added to the stage before u-boot proper.
|
|
Using `fdt_add_pubkey` the key can be injected to the SPL independent of
|
|
`mkimage`
|
|
|
|
|
|
|
|
Bintool: bootgen: Sign ZynqMP FSBL image
|
|
----------------------------------------
|
|
|
|
This bintool supports running `bootgen` in order to sign a SPL for ZynqMP
|
|
devices.
|
|
|
|
The bintool automatically creates an appropriate input image file (.bif) for
|
|
bootgen based on the passed arguments. The output is a bootable,
|
|
authenticated `boot.bin` file.
|