1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-11-01 05:40:41 +01:00
Matt DeVillier bc3f2f84f9 cli-classic: Add new '--fmap-verify' option
Add a new layout option, --fmap-verify, to be used when writing to
flash, which will compare the FMAP on the flash chip to the one in
the file being flashed, and abort if there are any differences.
The comparison ensures that number of regions and start/end addresses
are all identical.

Add documentation for the new option as well.

TEST: tested with the following commands:
flashrom -p internal -r coreboot.rom --fmap-verify -i COREBOOT (fails w/error)
flashrom -p internal -v coreboot.rom --fmap-verify -i COREBOOT (fails w/error)
flashrom -p internal -r coreboot.rom --fmap -i COREBOOT (ok)
flashrom -p internal -w coreboot.rom --fmap-verify -i COREBOOT (fails w/error - no FMAP)
flashrom -p internal -r coreboot.rom (fails w/error, active ME)
flashrom -p internal -r coreboot.rom --ifd -i bios (ok)
flashrom -p internal -w coreboot.rom --fmap-verify -i COREBOOT -N (ok)

Change-Id: I34f69d848869cf236b7e57cf8f60c2aaad79c385
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/89536
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
2025-10-28 22:39:09 +00:00
2025-10-14 10:40:26 +00:00
2024-08-12 00:09:12 +00:00
2025-07-03 05:45:38 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-14 10:39:40 +00:00
2025-10-14 10:39:40 +00:00
2025-10-14 10:39:40 +00:00
2025-10-18 07:10:08 +00:00
2023-03-28 00:36:36 +00:00
2025-10-18 07:10:08 +00:00
2025-09-28 08:25:39 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-07-03 05:45:38 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2024-08-22 01:22:27 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-02-24 06:50:19 +00:00
2025-01-08 11:35:47 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-07-03 05:45:38 +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`
Description
No description provided
Readme 72 MiB
Languages
C 90.2%
Rust 5%
Shell 2%
Makefile 1.6%
Meson 1.2%