No description
  • C 92.5%
  • Rust 4.1%
  • Shell 1.8%
  • Meson 1.5%
  • Makefile 0.1%
Find a file
2026-02-27 20:09:49 +01:00
.github/workflows website/gh workflow: Resolve 404 links 2023-08-03 23:04:56 +00:00
bindings/rust bindings/rust: Use SPDX in headers 2025-10-11 06:02:53 +00:00
doc programmers: Move all programmers into their own folder 2026-01-14 23:24:45 +00:00
flashchips flashchips: Fix typo in W77T128NW chip name 2026-02-23 09:18:27 +00:00
include fmap: Fix progress bar to work together with --fmap* options 2026-02-13 04:54:33 +00:00
meson_cross reduce DELAY_MINIMUM_SLEEP_US to 100 by default 2024-09-02 23:52:30 +00:00
platform platform/endian: Rename memaccess file to be more consistent 2026-01-30 00:24:48 +00:00
programmers dmi.h: Extract DMI declarations to a separate header 2026-01-30 00:12:49 +00:00
scripts tests: Add llvm-cov option and run target for code coverage 2022-12-11 21:27:27 +00:00
subprojects spidriver: Add support for the Excamera Labs SPIDriver programmer 2025-03-26 21:56:00 +00:00
tests tests/probe_spi: Add test for probe_spi_res1 function 2026-01-31 07:41:25 +00:00
util cli-classic: Add new '--fmap-verify' option 2025-10-28 22:39:09 +00:00
.gitattributes bindings/rust/libflashrom-sys: Create thin rust bindgen binding 2022-08-19 04:37:21 +00:00
.gitignore Remove the Makefile 2024-08-12 00:09:12 +00:00
82802ab.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
amd_imc.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
at45db.c at45db: Add support for AT45DB641E flash chip 2026-01-14 23:29:06 +00:00
bitbang_spi.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
board_enable.c dmi.h: Extract DMI declarations to a separate header 2026-01-30 00:12:49 +00:00
cbtable.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
chipset_enable.c chipset_enable: Add support for Arrow Lake-H 2026-01-24 07:10:36 +00:00
cli_classic.c libflashrom: Add flashrom_create_context to create and init context 2025-11-10 11:02:31 +00:00
cli_common.c cli: Use SPDX in headers 2025-10-14 10:39:40 +00:00
cli_getopt.c cli: Use SPDX in headers 2025-10-14 10:39:40 +00:00
cli_output.c cli: Use SPDX in headers 2025-10-14 10:39:40 +00:00
COPYING.rst doc: Add page to publish license info on the website 2025-09-24 07:06:42 +00:00
custom_baud.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
custom_baud_darwin.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
custom_baud_linux.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
dmi.c dmi.h: Extract DMI declarations to a separate header 2026-01-30 00:12:49 +00:00
Doxyfile libflashrom: Move documentation to header 2022-05-06 01:00:37 +00:00
edi.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
en29lv640b.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
erasure_layout.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
flashchips.c flashchips: Use SPDX in headers 2025-09-28 08:25:39 +00:00
flashrom.c at45db: Add support for AT45DB641E flash chip 2026-01-14 23:29:06 +00:00
fmap.c fmap: Fix progress bar to work together with --fmap* options 2026-02-13 04:54:33 +00:00
helpers.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
helpers_fileio.c helpers_fileio.c: fix fsync() check. 2025-11-17 00:29:32 +00:00
hwaccess_physmap.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
hwaccess_x86_io.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
hwaccess_x86_msr.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
i2c_helper_linux.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
ich_descriptors.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
ichspi.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
jedec.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
known_boards.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
layout.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
libflashrom.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
libflashrom.map libflashrom: Add flashrom_create_context to create and init context 2025-11-10 11:02:31 +00:00
MAINTAINERS nv_sma_spi: Add Nvidia SMA Programmer 2025-10-26 21:25:17 +00:00
mcp6x_spi.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
meson.build meson: Add a static versioning option 2026-01-27 23:36:21 +00:00
meson_options.txt meson: Add a static versioning option 2026-01-27 23:36:21 +00:00
mise.toml feat: add mise-en-place 2026-02-27 20:09:49 +01:00
opaque.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
parallel.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
pcidev.c pcidev: support no BAR access 2025-12-03 00:30:35 +00:00
print.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
printlock.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
processor_enable.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
programmer.c programmers: Use SPDX in headers 2025-10-18 07:10:08 +00:00
programmer_table.c nv_sma_spi: Add Nvidia SMA Programmer 2025-10-26 21:25:17 +00:00
README.rst doc: Add useful links to README 2025-02-24 06:50:19 +00:00
rpmc.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
s25f.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
sb600spi.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
serial.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
sfdp.c sfdp: sort erasers by block size 2025-12-06 07:35:25 +00:00
spi.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
spi25.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
spi25_statusreg.c flashchips: Add Spansion S25FL512S: pretty print status register 2 2025-11-22 07:06:45 +00:00
spi95.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
sst28sf040.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
sst49lfxxxc.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
sst_fwhub.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
stm50.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
superio.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
test_build.sh nv_sma_spi: Add Nvidia SMA Programmer 2025-10-26 21:25:17 +00:00
usb_device.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
usbdev.c serial, usb, hwaccess, i2c: Use SPDX in headers 2025-11-17 00:30:55 +00:00
VERSION VERSION: Update version to v1.7.0-rc2 2026-02-16 01:46:41 +00:00
w29ee011.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
w39.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
wbsio_spi.c group_internal: Use SPDX in headers 2025-11-12 11:30:17 +00:00
writeprotect.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00
writeprotect_ranges.c core: Use SPDX in headers 2025-11-12 11:30:28 +00:00

flashrom README
===============

flashrom is a utility for detecting, reading, writing, verifying and erasing
flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images
in-system using a supported mainboard, but it also supports flashing of network
cards (NICs), SATA controller cards, and other external devices which can
program flash chips.

It supports a wide range of flash chips (most commonly found in SOIC8, DIP8,
SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various
protocols such as LPC, FWH, parallel flash, or SPI.

Do not use flashrom on laptops (yet)! The embedded controller (EC) present in
many laptops might interact badly with any attempts to communicate with the
flash chip and may brick your laptop.

Please make a backup of your flash chip before writing to it.

Please see the flashrom(8) manpage :doc:`classic_cli_manpage`.

The list of platforms that package flashrom can be found on `repology.org <https://repology.org/project/flashrom/versions>`_.

Information about recent releases can be found in :doc:`/release_notes/index`.

Building / installing / packaging
---------------------------------

flashrom is built with **meson**. TLDR:

::

    meson setup builddir
    meson compile -C builddir
    meson test -C builddir
    meson install -C builddir

For full detailed instructions, follow the information in
:doc:`dev_guide/building_from_source`.

If you are interested in development, have a look at :doc:`dev_guide/development_guide`.

Contact
-------

The official flashrom website is:

  https://www.flashrom.org/

For available contact methods see :doc:`contact`