Utilities
List of utils
Scripts and programs found in the coreboot ./util directory
abuild - coreboot autobuild script builds coreboot images for all available targets.
bashacpi - Walk through all ACPI tables with their addresses.
bashamdfwtool - Create AMD Firmware combination
Camdtools Various tools for AMD processors
update_efs_spi_speed - Change SPI speed in binary.
BashTools to compare extended K8 memory settings.
k8-compare-pci-space.pl - Shows differences between values in PCI space and the default value.
Perlk8-interpret-extended-memory-settings.pl - Shows differences between memory controller values and the default value.
Perlk8-read-mem-settings.sh - Makes data files understood by the k8-interpret-extended-memory-settings script.
Bashparse-bkdg.pl - Make bkdg.data file used by above scripts.
Perlexample_input - Sample input for the above scripts.
Text
apcb - AMD PSP Control Block tools
apcb_edit.py - This tool allows patching an existing APCB binary with specific SPDs and GPIO selection pins.
Python3apcb_v3_edit.py - This tool allows patching an existing APCB v3 binary with up to 16 specific SPDs.
Python3
archive - Concatenate files and create an archive
Cautoport - Automated porting coreboot to Sandy Bridge/Ivy Bridge/Haswell platforms
Gobincfg - Compiler/Decompiler for data blobs with specs
LexYaccboard_status - Tools to collect logs and upload them to the board status repository
BashGobucts - A tool to manipulate the BUC.TS bit on Intel targets.
Ccavium - Devicetree_convert Tool to convert a DTB to a static C file
Pythoncbfstool
cbfstool - For manipulating CBFS file
Cfmaptool - Converts plaintext fmd files into fmap blobs
Crmodtool - Creates rmodules
Cifwitool - For manipulating IFWI
C
cbmem - CBMEM parser to read e.g. timestamps and console log
Cchromeos - These scripts can be used to access ChromeOS resources, for example to extract System Agent reference code and other blobs (e.g. mrc.bin, refcode, VGA option roms) from a ChromeOS recovery image.
Ccrossgcc - A cross toolchain builder for -elf toolchains (ie. no libc support)
Bashdocker - Dockerfiles for coreboot-sdk, coreboot-jenkins-node, coreboot.org-status and docs.coreboot.org
Makedtd_parser - DTD structure parser
Python2ectool - Dumps the RAM of a laptop’s Embedded/Environmental Controller (EC).
Cexynos - Computes and fills Exynos ROM checksum (for BL1 or BL2).
Python3find_usbdebug - Help find USB debug ports
Bashfutility - Firmware utility for signing ChromeOS images
Makefuzz-tests - Create test cases that crash the jpeg code.
Cgenbuild_h - Generate build system definitions
Shellgitconfig - Initialize git repository submodules install git hooks
Bashhda-decoder - Dumps decoded HDA default configuration registers into a format which can be used in coreboot’s verb table
Goifdtool - Extract and dump Intel Firmware Descriptor information
Cintelmetool - Dump interesting things about Management Engine even if hidden
Cintelp2m - Convert the inteltool register dump to gpio.h with GPIO configuration for porting coreboot to your motherboard.
Gointeltool - Provides information about the Intel CPU/chipset hardware configuration (register contents, MSRs, etc).
Cintelvbttool - Parse VBT from VGA BIOS
Ckbc1126 - Tools used to dump the two blobs from the factory firmware of many HP laptops with 8051-based SMSC KBC1098/KBC1126 embedded controller and insert them to the firmware image.
Ckconfig - Build system
Makelint - Source linter and linting rules
Shellnixos - A script and NixOS configuration files to create an ISO image for testing purposes and for working on firmware.
Bashmainboard - mainboard specific scripts
google - Directory for google mainboard specific scripts
marvell - Add U-Boot boot loader for Marvell ARMADA38X
Cme_cleaner - Tool for partial deblobbing of Intel ME/TXE firmware images
Pythonmediatek
check-pi-img.py - Check
PI_IMGfirmware.Python3gen-bl-img.py - Generate MediaTek bootloader header.
Python3
mma - Memory Margin Analysis automation tests
Bashmsrtool - Dumps chipset-specific MSR registers.
Cnvidia - nvidia blob parsers
nvramtool - Reads and writes coreboot parameters and displaying information from the coreboot table in CMOS/NVRAM.
Cpmh7tool - Dumps, reads and writes PMH7 registers on Lenovo ThinkPads. PMH7 is used for switching on and off the power of some devices on the board such as dGPU.
Cpost - Userspace utility that can be used to test POST cards.
Cqemu - Makefile & comprehensive default config for QEMU Q35 emulation
Makequalcomm - cmm
CMM script to debug Qualcomm coreboot environments.
CMMipqheadercreatexbl.py - Concatenates XBL segments into one ELF image
Pythonipqheader.py - Returns a packed MBN header image with the specified base and size
Pythonmbncat.py - Generate ipq8064 uber SBL
Pythonmbn_tools.py - Contains all MBN Utilities for image generation
Python
release - Generate coreboot release
Bashriscv
make-spike-elf.sh - Converts a flat file into an ELF, that can be passed to SPIKE, the RISC-V reference emulator.
Bashsifive-gpt.py - Wraps the bootblock in a GPT partition for SiFive’s bootrom.
Python3
rockchip - Generate Rockchip idblock bootloader.
Python3sconfig - coreboot device tree compiler
LexYaccscripts
capture_commands.sh - Write all commands from the build to a file.
Shellconfig - Manipulate options in a .config file from the command line
Bashcross-repo-cherrypick - Pull in patches from another tree from a gerrit repository.
Shelldecode_spd.sh - Decodes Serial Presence Detect (SPD) files into various human readable formats.
Bashdts-to-fmd.sh -Converts a depthcharge fmap.dts into an fmaptool compatible .fmd format
Bashfind_new_user_commits.sh - Finds new gerrit committers
Bashfind-unused-kconfig-symbols.sh - Points out Kconfig variables that may be unused. There are some false positives, but it serves as a starting point
Shellgerrit-rebase - Applies all commits that from-branch has over to-branch, based on a common ancestor and gerrit meta-data
Bashget_maintainer.pl - Print selected MAINTAINERS information for the files modified in a patch or for a file
Perlmaintainers.go - Build subsystem Maintainers
Gono-fsf-addresses.sh - Removes various FSF addresses from license headers
Shellparse-maintainers.pl - Script to alphabetize MAINTAINERS file
Perlrm_unused_code - Remove all code not used for a platform from the local git repository for auditing or release
Bashshow_platforms.sh - Makes a list of platforms in the tree. Does not show variants.
Shellucode_h_to_bin.sh - Microcode conversion tool
Bashupdate_submodules - Check all submodules for updates
Bash
smmstoretool - Offline SMMSTORE variable modification tool
Cspdtool - Dumps SPD ROMs from a given blob to separate files using known patterns and reserved bits. Useful for analysing firmware that holds SPDs on boards that have soldered down DRAM.
pythonspkmodem_recv - Decode spkmodem signals
Csuperiotool - A user-space utility to detect Super I/O of a mainboard and provide detailed information about the register contents of the Super I/O.
Csupermicro - Tools for supermicro platforms
smcbiosinfo - Generates SMC biosinfo for BMC BIOS updates
C
testing - coreboot test targets
Makeuio_usbdebug - Debug coreboot’s usbdebug driver inside a running operating system (only Linux at this time).
Cutil_readme - Creates README.md of description files in
./utilsubdirectoriesBashvboot_list - Tools to generate a list of vboot enabled devices to the documentation
Bashvgabios - emulated vga driver for qemu
Cx86 - Generates 32-bit PAE page tables based on a CSV input file.
Goxcompile - Cross compile setup
Bash
In depth documentation
Generated documentation
*Please do not edit the markdown file in the documentation directory directly.
This file was generated by running util_readme.sh. Please make sure it is rerun when new tools are added or when documentation is updated.
To update, edit the markdown files in the util directory, then
re-generate this file by running util/util_readme/util_readme.sh