1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-10-20 09:10:52 +02:00
Anastasia Klimchuk 05961d847a erase: Print message when prepare_flash_access failed
prepare_flash_access provides check the required conditions for
erase operation to be performed. If the check fails, operation
aborts, i.e. erase does not start. However for the user this
information is not clearly messaged, and even more, user still
has emergency_help_message.

The patch adds message for the user when prepare_flash_access failed
and operation itself hasn't started.

The message can be repro with dummyflasher

for erase
./flashrom -p dummy:hwwp=yes,emulate=S25FL128L --wp-enable \
  --wp-range 0x00040000,0x00fc0000 \
  -l <(echo '00000000:0004ffff part1') -i part1 -E

for write
./flashrom -p dummy:hwwp=yes,emulate=S25FL128L --wp-enable \
  --wp-range 0x00040000,0x00fc0000 \
  -l <(echo '00000000:0004ffff part1') -i part1 -w <some file>

BEFORE

for erase, output ends with:

can_change_target_regions: cannot fully update part1 region
 (00000000..0x04ffff) due to chip's write-protection.
At least one target region is not fully writable. Aborting.
Your flash chip is in an unknown state.
Please report this to the mailing list at flashrom@flashrom.org or
on chat (see https://flashrom.org/contact.html for details), thanks!

So it says "Aborting" but then
"Your flash chip is in an unknown state" and likely the user
will focus on the second part, the scary message

for write, the operation is actually Aborting
(no unknown state message)

AFTER

for erase, output ends with:

can_change_target_regions: cannot fully update part1 region
 (00000000..0x04ffff) due to chip's write-protection.
At least one target region is not fully writable. Aborting.
Error: some of the required checks to prepare flash access failed.
Earlier messages should give more details.
Erase operation has not started.

for write I added the same info for consistency:

can_change_target_regions: cannot fully update part1 region
 (00000000..0x04ffff) due to chip's write-protection.
At least one target region is not fully writable. Aborting.
Error: some of the required checks to prepare flash access failed.
Earlier messages should give more details.
Write operation has not started.

Change-Id: Id251c2b7f12df3378feb84b5761581dd272240be
Tested-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
Signed-off-by: Anastasia Klimchuk <aklm@flashrom.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/89413
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
Reviewed-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2025-10-19 23:56:48 +00:00
2025-10-14 10:40:26 +00:00
2025-10-12 05:07:45 +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-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
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 71 MiB
Languages
C 90.2%
Rust 5%
Shell 2%
Makefile 1.6%
Meson 1.2%