cbfstool8
Management utility for cbfs formatted rom images (coreboot tools)
Usage
cbfstool [-h]
cbfstool FILE
COMMAND
[-v]
[PARAMETERS] ...
Overview
Management utility for CBFS formatted ROM images
Options
-
-H header_offset -
Do not search for header; use this offset*
-
-T -
Output top-aligned memory address
-
-u -
Accept short data; fill upward/from bottom
-
-d -
Accept short data; fill downward/from top
-
-F -
Force action
-
-g -
Generate position and alignment arguments
-
-U -
Unprocessed; don't decompress or make ELF
-
-v -
Provide verbose output (
-v=INFO-vv=DEBUG output)
-
-h -
Display this help message
-
--ext-win-base -
Base of extended decode window in host address space(x86 only)
-
--ext-win-size -
Size of extended decode window in host address space(x86 only)
Commands
- add [-r image,regions]
-fFILE-nNAME-tTYPE [-A hash] -
[-c compression] [-b base-address |
-aalignment] [-p padding size] [-y|--xip if TYPE is FSP] [-j topswap-size] (Intel CPUs only) [--ibb] [--ext-win-base win-base--ext-win-sizewin-size]Add a component
-jvalid size: 0x10000 0x20000 0x40000 0x80000 0x100000
- add-payload [-r image,regions]
-fFILE-nNAME [-A hash] -
[-c compression] [-b base-address] (linux specific: [-C cmdline] [-I initrd])
Add a payload to the ROM
- add-stage [-r image,regions]
-fFILE-nNAME [-A hash] -
[-c compression] [-b base] [-S comma-separated-section(s)-to-ignore] [-a alignment] [-Q|--pow2page] [-y|--xip] [--ibb] [--ext-win-base win-base
--ext-win-sizewin-size]Add a stage to the ROM
- add-flat-binary [-r image,regions]
-fFILE-nNAME -
[-A hash]
-lload-address-eentry-point [-c compression] [-b base]Add a 32bit flat mode binary
- add-int [-r image,regions]
-iINTEGER-nNAME [-b base] -
Add a raw 64-bit integer value
- add-master-header [-r image,regions] [-j topswap-size] (Intel CPUs only)
-
Add a legacy CBFS master header
- remove [-r image,regions]
-nNAME -
Remove a component
- compact
-rimage,regions -
Defragment CBFS image.
- copy
-rimage,regions-Rsource-region -
Create a copy (duplicate) cbfs instance in fmap
- create
-mARCH-ssize [-b bootblock offset] -
[-o CBFS offset] [-H header offset] [-B bootblock]
Create a legacy ROM file with CBFS master header*
- create
-Mflashmap [-r list,of,regions,containing,cbfses] -
Create a new-style partitioned firmware image
- layout [-w]
-
List mutable (or, with
-w, readable) image regions
- print [-r image,regions] [-k]
-
Show the contents of the ROM
- extract [-r image,regions] [-m ARCH]
-nNAME-fFILE [-U] -
Extracts a file from ROM
- write [-F]
-rimage,regions-ffile [-u |-d][-i int] -
Write file into same-size [or larger] raw region
- read [-r fmap-region]
-ffile -
Extract raw region contents into binary file
- truncate [-r fmap-region]
-
Truncate CBFS and print new size on stdout
- expand [-r fmap-region]
-
Expand CBFS to span entire region
Offsets
Numbers accompanying -b, -H, and -o switches* may be provided in two possible formats: if their value is greater than 0x80000000, they are interpreted as a top-aligned x86 memory address; otherwise, they are treated as an offset into flash.
Architectures
arm64, arm, mips, ppc64, power8, riscv, x86, unknown
Types
bootblock, cbfs header, legacy stage, stage, simple elf, fit_payload, optionrom, bootsplash, raw, vsa, mbi, microcode, intel_fit, fsp, mrc, cmos_default, cmos_layout, spd, mrc_cache, mma, efi, struct, deleted, null, amdfw
Note that these actions and switches are only valid when working with legacy images whose structure is described primarily by a CBFS master header. New-style images, in contrast, exclusively make use of an FMAP to describe their layout: this must minimally contain an 'FMAP' section specifying the location of this FMAP itself and a 'COREBOOT' section describing the primary CBFS. It should also be noted that, when working with such images, the -F and -r switches default to 'COREBOOT' for convenience, and the -b switch becomes relative to the selected CBFS region's lowest address. The one exception to this rule is the top-aligned address, which is always relative to the end of the entire image rather than relative to the local region; this is true for for both input (sufficiently large) and output (-T) data.
Releases
2 releases since Debian 12 (Bookworm); the text changed 1 time.
-H since Debian 13 (Trixie).