don't document flashrom. use flashprog instead.

Signed-off-by: Leah Rowe <info@minifree.org>
master
Leah Rowe 2024-01-27 22:35:38 +00:00
parent de2ddf6d51
commit 4542dbad5e
59 changed files with 400 additions and 283 deletions

View File

@ -337,6 +337,8 @@ Helped write the [FAQ section about DMA](../faq.md#hddssd-firmware), and provide
general advice in the early days of the project. Peter was a coreboot developer
in those days, and a major developer in the *libusb* project (which flashrom
makes heavy use of).
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024.
Peter also wrote the *bucts* utility used to set Backup Control (BUC) Top Swap
(TS) bit on i945 laptops such as ThinkPad X60/T60, which is useful for a

View File

@ -320,6 +320,8 @@ LibrePlanet. Працюючи разом з Лією, Патрік допома
загальні поради на перших днях проекту. У той час Пітер був розробником coreboot
і головним розробником проекту *libusb* (який flashrom
активно використовує).
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024.
Пітер також написав утиліту *bucts*, яка використовується для встановлення біта Top Swap
(TS) для керування резервним копіюванням (BUC) на ноутбуках i945, таких як ThinkPad X60/T60, яка є корисною для

View File

@ -189,7 +189,10 @@ So you compiled your Libreboot image? Congratulations!
Before you flash, please make sure that you *dumped* two copies of the original
firmware just in case (verifying the hashes of each dump, to ensure that they
match), using the `-r` option in flashrom.
match), using the `-r` option in flashprog.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
There are some additional considerations:

View File

@ -138,13 +138,16 @@ between the pins until you can see the normal BIOS boot screen.
![](https://av.libreboot.org/hp8200sff/fdo\_screwdriver.jpg)
Boot into an OS supported by flashrom. On Linux, make sure you add the
Boot into an OS supported by flashprog. On Linux, make sure you add the
kernel parameter **iomem=relaxed** which disables memory protections that
prevent BIOS flashing.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Now, run this command:
flashrom -p internal -c MX25L6406E/MX25L6408E
flashprog -p internal -c MX25L6406E/MX25L6408E
The output should contain the text "The Flash Descriptor Override
Pin-Strap is set". If it doesn't, start again from the beginning.
@ -170,18 +173,21 @@ We'll refer to it as `libreboot4.rom`. We need to pad it to 8 MiB:
Flash the Libreboot image with a tweaked layout:
ifdtool libreboot4.rom -f layout
flashrom -p internal -c MX25L6406E/MX25L6408E -w libreboot4.rom -l layout -i fd -i gbe -i bios -i me
flashprog -p internal -c MX25L6406E/MX25L6408E -w libreboot4.rom -l layout -i fd -i gbe -i bios -i me
Power off the computer. Make sure to power off, rebooting is not enough!
Power on the computer.
Now we can flash the full 8 MiB image. Boot to an OS with flashrom
Now we can flash the full 8 MiB image. Boot to an OS with flashprog
again. On linux, remember the **iomem=relaxed** kernel parameter.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Pick a Libreboot image of your choice from `bin/hp8200sff_8mb`
or from a release archive. We'll refer to it as `libreboot8.rom`.
flashrom -p internal -c MX25L6406E/MX25L6408E -w libreboot8.rom
flashprog -p internal -c MX25L6406E/MX25L6408E -w libreboot8.rom
Power cycle the computer again.

View File

@ -168,16 +168,19 @@ dd if=libreboot.rom of=new.bin bs=12M count=1 conv=notrunc
The `libreboot.rom` file is the 12MB image from Libreboot. The `new.bin`
file is the Libreboot ROM, padded to 16MB. You will not flash the entire 16MB
file, but flashrom detects a 16MB flash IC. This just makes flashrom not
file, but flashprog detects a 16MB flash IC. This just makes flashrom not
complain about mismatching ROM/chip size.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
You should flash each region individually:
```
flashrom -p internal --ifd -i gbe -w new.bin --noverify-all
flashrom -p internal --ifd -i bios -w new.bin --noverify-all
flashrom -p internal --ifd -i me -w new.bin --noverify-all
flashrom -p internal --ifd -i ifd -w new.bin --noverify-all
flashprog -p internal --ifd -i gbe -w new.bin --noverify-all
flashprog -p internal --ifd -i bios -w new.bin --noverify-all
flashprog -p internal --ifd -i me -w new.bin --noverify-all
flashprog -p internal --ifd -i ifd -w new.bin --noverify-all
```
NOTE: The `--ifd` option uses the regions defined in the *flashed* IFD, so

View File

@ -71,15 +71,18 @@ crystal (small metal cylinder) and the power cable for the optical drive.
![](https://av.libreboot.org/hp8300usdt/jumper_to_fdo.jpg)
Boot into an OS of your choice (that has flashrom support). When using Linux,
Boot into an OS of your choice (that has flashprog support). When using Linux,
you need to supply the kernel parameter `iomem=relaxed`.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The BIOS should no longer impose any write-protections.
You can now use `flashrom -p internal` freely.
You can now use `flashprog -p internal` freely.
Take a backup of the original BIOS:
flashrom -p internal -r oem_bios
flashprog -p internal -r oem_bios
This is an Ivy Bridge board which means that a neutered ME image
is required if you wish to flash the ME region. Libreboot's
@ -95,7 +98,7 @@ platforms](../install/ivy_has_common.md)
You can now flash libreboot:
flashrom -p internal -w libreboot.rom
flashprog -p internal -w libreboot.rom
You can now move the jumper back to its original place.
By default, Libreboot applies no write-protection, so

View File

@ -89,5 +89,8 @@ to program Libreboot on it.
Some part of the board might turn on when programming. If programming fails,
you might have to attach the laptop to a charger. Make sure the laptop
powers off before running flashrom. No LEDs should be lit.
powers off before running flashprog. No LEDs should be lit.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.

View File

@ -138,9 +138,12 @@ libreboot, so we don't actually provide that, but if you still have
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
will update both the BIOS and EC version. See:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. libreboot
only replaces the BIOS firmware, not EC.

View File

@ -124,9 +124,12 @@ d945gclf据上次报告根本无法启动。D510MO 仍在 lbmk 中,但
建议更新到最新 EC 固件版本。[EC 固件](../../faq.md#ec-embedded-controller-firmware) 与 libreboot 是独立的,所以我们实际上并不会提供这些固件,但如果你仍还有 Lenovo BIOS那你可以直接运行 Lenovo BIOS 更新工具,它会同时更新 BIOS 和 EC 版本。见:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
注意:只有在运行 Lenovo BIOS 的时候,你才能这样做。如何在运行 libreboot 的时候更新 EC 固件尚不清楚。libreboot 只会替换 BIOS 固件,而不会替换 EC。
更新的 EC 固件有一些好处,例如电池管理更加好。

View File

@ -52,7 +52,10 @@ This is a server board using AMD hardware (Fam10h). It can also be used
for building a high-powered workstation. Powered by libreboot.
Flashing instructions can be found at
[../install/\#flashrom](../install/)
[../install/\#flashprog](../install/)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Form factor {#formfactor}
===========

View File

@ -19,7 +19,7 @@ recommend avoiding Kingston modules.*
*For working configurations see <https://www.coreboot.org/Board:asus/kgpe-d16>.*
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom) - note that external
[../install/\#flashprog](../install/#flashprog) - note that external
flashing is required, if the proprietary (ASUS) firmware is
currently installed. If you already have libreboot, by default it is
possible to re-flash using software running in Linux on the

View File

@ -103,7 +103,10 @@ Internal flashing
MacBook2,1 can always be flashed internally, even if running Apple firmware:
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The MacBook1,1 can't be flashed internally if running the Apple EFI firmware.
You must flash externally.

View File

@ -77,7 +77,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
EC update {#ecupdate}
=========
@ -88,7 +91,7 @@ libreboot, so we don't actually provide that, but if you still have
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
will update both the BIOS and EC version. See:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to

View File

@ -76,7 +76,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
EC update {#ecupdate}
=========
@ -87,7 +90,7 @@ libreboot, so we don't actually provide that, but if you still have
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
will update both the BIOS and EC version. See:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to

View File

@ -78,7 +78,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
EC update {#ecupdate}
=========
@ -89,7 +92,7 @@ libreboot, so we don't actually provide that, but if you still have
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
will update both the BIOS and EC version. See:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to

View File

@ -76,7 +76,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
EC update {#ecupdate}
=========
@ -87,7 +90,7 @@ libreboot, so we don't actually provide that, but if you still have
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
will update both the BIOS and EC version. See:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
- [X200, X200s, X200si BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x200/downloads/ds015007)
- [X200t BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)

View File

@ -69,7 +69,10 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
(містить примітки та інструкції)
Інструкції з перепрошивки можна знайти за адресою
[../install/\#flashrom](../install/#flashrom)
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Оновлення EC {#ecupdate}
=========
@ -80,7 +83,7 @@ libreboot, тому ми її фактично не надаємо, але як
Lenovo BIOS, ви можете просто запустити утиліту оновлення BIOS Lenovo, яка
оновить як BIOS, так і версію EC. Дивіться:
- [../install/#flashrom](../install/#flashrom)
- [../install/#flashprog](../install/#flashprog)
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
- [Оновлення BIOS X200, X200s, X200i](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x200/downloads/ds015007)
- [Оновлення BIOS X200t](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)

View File

@ -22,6 +22,10 @@ A special fork of flashrom, maintained by Google, is required for flashing.
More information about this is present in the generic [chromebook flashing
instructions](chromebooks.md).
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom, but the chromium fork
is another fork of flashrom, and you should use that on chromebooks.
Depthcharge payload (obsolete)
------------------------------

View File

@ -12,7 +12,10 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Flashing instructions {#clip}
=====================

View File

@ -68,7 +68,7 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
We believe most/all are 4MB (32Mb) flash sizes, but larger ROM images are
provided for people who wish to upgrade.
@ -168,9 +168,10 @@ BSD *boots* and works properly on these machines, but take note:
Nicholas's [dell-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/dell_flash_unlock.c)
utility has been ported to OpenBSD, but *other* BSDs are assumed unsupported for
now. The `flashrom` software is available on BSD systems. Libreboot's build
system has *itself* not yet been ported to the BSDs, but you can use the
flash unlock utility.
now.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
NOTE: BSD is mentioned above, but the only BSD tested for `dell-flash-unlock`
is OpenBSD, as of 15 October 2023.
@ -179,8 +180,8 @@ Flashing from Linux
-------------------
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
disables memory protections, permitting `/dev/mem` access needed by flashrom.
The flash is memory mapped and flashrom accesses it via `/dev/mem`.
disables memory protections, permitting `/dev/mem` access needed by flashprog.
The flash is memory mapped and flashprog accesses it via `/dev/mem`.
You can flash Libreboot directly from the vendor (Dell) BIOS, without taking
the machine apart. It can be done entirely from Linux. It will probably also
@ -216,18 +217,18 @@ Protected Range registers.
When you flash it, you can use this command:
flashrom -p internal -w libreboot.rom
flashprog -p internal -w libreboot.rom
Where `libreboot.rom` is your E6400 ROM. *Make sure* it's the right one.
If flashrom complains about multiple flash chips detected, just pick one of
If flashprog complains about multiple flash chips detected, just pick one of
them (doesn't matter which one). On *most* Dell machines, the most correct
would probably be this option in flashrom: `-c MX25L3205D/MX25L3208D`.
would probably be this option in flashprog: `-c MX25L3205D/MX25L3208D`.
So:
flashrom -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
flashprog -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
When you see flashrom say `VERIFIED` at the end, that means the flash was
When you see flashprog say `VERIFIED` at the end, that means the flash was
successful. If you don't see that, or you're unsure, please [contact the
Libreboot project via IRC](../../contact.md).
@ -237,7 +238,7 @@ BACK UP THE FACTORY BIOS
The `-w` option flashes `libreboot.rom`. You may consider *backing up* the
original Dell BIOS first, using the -r option:
flashrom -p internal -r backup.rom -c MX25L3205D/MX25L3208D
flashprog -p internal -r backup.rom -c MX25L3205D/MX25L3208D
Do this while in a flashable state, after the 2nd run of `dell-flash-unlock`.

View File

@ -21,7 +21,7 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
The internal flash size is 12MiB on this board; physically, an 8MiB and 4MiB
chip (two chips) but this distinction only matters for external flashing.
@ -79,9 +79,10 @@ BSD *boots* and works properly on these machines, but take note:
Nicholas's [dell-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/dell_flash_unlock.c)
utility has been ported to OpenBSD, but *other* BSDs are assumed unsupported for
now. The `flashrom` software is available on BSD systems. Libreboot's build
system has *itself* not yet been ported to the BSDs, but you can use the
flash unlock utility.
now.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
NOTE: BSD is mentioned above, but the only BSD tested for `dell-flash-unlock`
is OpenBSD, as of 15 October 2023.
@ -90,8 +91,8 @@ Flashing from Linux
-------------------
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
disables memory protections, permitting `/dev/mem` access needed by flashrom.
The flash is memory mapped and flashrom accesses it via `/dev/mem`.
disables memory protections, permitting `/dev/mem` access needed by flashprog.
The flash is memory mapped and flashprog accesses it via `/dev/mem`.
You can flash Libreboot directly from the vendor (Dell) BIOS, without taking
the machine apart. It can be done entirely from Linux. It will probably also
@ -128,14 +129,14 @@ flash; see the instructions below.
When you flash it, you can use this command:
flashrom -p internal -w libreboot.rom
flashprog -p internal -w libreboot.rom
Where `libreboot.rom` is your E6430 ROM. *Make sure* it's the right one.
If flashrom complains about multiple flash chips detected, just pick one of
If flashprog complains about multiple flash chips detected, just pick one of
them (doesn't matter which one), with the `-C` flag as directed; just pick one,
and if it doesn't work, try the next.
When you see flashrom say `VERIFIED` at the end, that means the flash was
When you see flashprog say `VERIFIED` at the end, that means the flash was
successful. If you don't see that, or you're unsure, please [contact the
Libreboot project via IRC](../../contact.md).
@ -145,10 +146,10 @@ BACK UP THE FACTORY BIOS
The `-w` option flashes `libreboot.rom`. You may consider *backing up* the
original Dell BIOS first, using the -r option:
flashrom -p internal -r backup.rom
flashprog -p internal -r backup.rom
AGAIN: make sure to use `-C` accordingly, if you need to pick a chip (where
flashrom has detected multiple chip definitions). Just pick one, any of them
flashprog has detected multiple chip definitions). Just pick one, any of them
will probably work, if not try the next.
Do this while in a flashable state, after the 2nd run of `dell-flash-unlock`.

View File

@ -22,7 +22,7 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
Flashing instructions {#clip}
=====================
@ -52,11 +52,11 @@ Linux. There are 2 flash chips (one is backup).
Flash the first chip:
./flashrom -p internal:dualbiosindex=0 -w libreboot.rom
./flashprog -p internal:dualbiosindex=0 -w libreboot.rom
Flash the second chip:
./flashrom -p internal:dualbiosindex=1 -w libreboot.rom
./flashprog -p internal:dualbiosindex=1 -w libreboot.rom
NOTE: you can still boot the system with just the main flash chip
connected, after desoldering the backup chip. This has been tested while
@ -66,5 +66,5 @@ NOTE: If you don't flash both chips, the recovery program from the default
factory BIOS will kick in and your board will be soft bricked. Make sure that
you flash both chips!
NOTE: You need the latest flashrom. Just get it on flashrom.org from
their SVN or Git repos.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.

View File

@ -123,7 +123,7 @@ accomplish the same result of locking or unlocking a descriptor.**
These files contain the descriptor+GbE region and are suitable for systems
that have an Intel GbE NIC present. The flash regions (as defined by the
Intel Flash Descriptor) are set *read-write* which means that you can also
re-flash using `flashrom -p internal` in your operating system running on
re-flash using `flashprog -p internal` in your operating system running on
that machine. This is the default setup used when libreboot's build system
compiles ROM images.
@ -181,7 +181,7 @@ a Broadcom NIC for ethernet. In descriptorless mode, ICH9M works very similarly
to older ICH7 chipsets.
Your libreboot.rom image is now ready to be flashed on the system. Refer
back to [../install/\#flashrom](../install/#flashrom) for how to flash
back to [../install/\#flashprog](../install/#flashprog) for how to flash
it.
Write-protecting the flash chip
@ -289,7 +289,7 @@ This takes a `factory.rom` dump and disables the ME/TPM, but leaves the
region intact. It also sets all regions read-write. Simply put, this means
that you can use the original factory firmware but without the Intel ME enabled.
The ME interferes with flash read/write in flashrom, and the default
The ME interferes with flash read/write in flashprog, and the default
descriptor locks some regions. The idea is that doing this will remove
all of those restrictions.

View File

@ -3,27 +3,23 @@ title: Installation instructions
x-toc-enable: true
...
**WARNING: Upstream flashrom has many stability issues at present, especially
in revisions after 1.3 tested as of November 2023. If you're using flashrom on
Libreboot systems, we recommend you stick to flashrom 1.2 for now, the last
known version that was stable. In particular, many i945 machines e.g. X60, T60
cannot be flashed at all by current November 2023 revisions, at the time of
this notice. We will have more context at a future date.**
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.**
This section relates to installing libreboot on supported targets.
FLASH ERRORS (and workarounds)
=======================
Right out of the gate, some users may experience errors with flashrom when
Right out of the gate, some users may experience errors with flashprog when
using the internal programmer. They are:
/dev/mem access error
---------------------
NOTE: if running `flashrom -p internal` for software based flashing, and you
NOTE: if running `flashprog -p internal` for software based flashing, and you
get an error related to `/dev/mem` access, you should reboot with
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel that
`iomem=relaxed` kernel parameter before running flashprog, or use a kernel that
has `CONFIG_STRICT_DEVMEM` not enabled.
On NetBSD and OpenBSD systems, the equivalent to `iomem=relaxed` in this case
@ -36,8 +32,8 @@ ERROR: Could not get I/O privileges
Error message: `ERROR: Could not get I/O privileges (Function not implemented)`
If you get this while running `flashrom -p internal -w filename.rom` (or any
internal flash operation), note: flashrom heavily uses ioperm/iopl functions
If you get this while running `flashprog -p internal -w filename.rom` (or any
internal flash operation), note: flashprog heavily uses ioperm/iopl functions
to operate the internal flasher, at least on x86 machines.
See: <https://lwn.net/Articles/804143/>
@ -56,7 +52,7 @@ See: [NetBSD securelevel manual](https://wiki.netbsd.org/tutorials/kernel_secure
and [OpenBSD securelevel manpage](https://man.openbsd.org/securelevel).
Otherwise, if you get such errors, it may just be that you're not root. You
must run flashrom as root, at least to use the internal flasher (using external
must run flashprog as root, at least to use the internal flasher (using external
USB flashing dongles doesn't normally require root).
SAFETY WARNING!
@ -276,7 +272,7 @@ may be configured to restrict write privileges by the host CPU.
In some situations, the host CPU can rewrite/erase/dump the boot flash.
This is called *internal flashing*. This means that you will run software,
namely `flashrom`, to read/erase/write the contents of the boot flash from a
namely `flashprog`, to read/erase/write the contents of the boot flash from a
running operating system on the target device.
NOTE: please also read the sections further down this page. On some systems,
@ -287,11 +283,11 @@ NOTE: in some cases, external flashing is possible but special steps are
required. This depends on your mainboard. Again, please read this page
carefully.
Run flashrom on host CPU
Run flashprog on host CPU
------------------------
You can simply take any ROM image from the libreboot project, and flash it.
Boot a Linux distribution on the target device, and install flashrom.
Boot a Linux distribution on the target device, and install flashprog.
In some cases, this is not possible or there are other considerations. Please
read this section *carefully*.
@ -300,7 +296,7 @@ read this section *carefully*.
Use this to find out:
flashrom -p internal
flashprog -p internal
In the output will be information pertaining to your boot flash.
@ -308,14 +304,14 @@ In the output will be information pertaining to your boot flash.
How to read the current chip contents:
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump.bin
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump.bin
You should still make several dumps, even if you're flashing internally, to
ensure that you get the same checksums. Check each dump using `sha1sum`
How to erase and rewrite the chip contents:
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
If you are re-flashing a GM45+ICH9M laptop (e.g. ThinkPad X200/X200S/X200T,
T400, T500, R400, W500 etc - but not R500), you should run the ich9gen utility
@ -324,13 +320,13 @@ Please read the ich9utils documentation:
[/docs/install/ich9utils.html](/docs/install/ich9utils.html)
NOTE: `force_I_want_a_brick` is not scary. Do not be scared! This merely disables
the safety checks in flashrom. Flashrom and coreboot change a lot, over the years,
the safety checks in flashprog. Flashrom and coreboot change a lot, over the years,
and sometimes it's necessary to use this option. If you're scared, then just
follow the above instructions, but remove that option. So, just use `-p internal`.
If that doesn't work, next try `-p internal:boardmismatch=force`. If that doesn't
work, try `-p internal:boardmismatch=force,laptop=force_I_want_a_brick`. So long
as you *ensure* you're using the correct ROM for your machine, it will be safe
to run flashrom. These extra options just disable the safetyl checks in flashrom.
to run flashprog. These extra options just disable the safetyl checks in flashprog.
There is nothing to worry about.
If successful, it will either say `VERIFIED` or it will say that the chip
@ -420,7 +416,7 @@ example of the push pin as a proof of concept:
[You must flash it externally](spi.md)
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashrom_lenovobios}
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashprog_lenovobios}
**WARNING: Libreboot 20231021 and likely older 2023 releases do not have the
bootblock copied in release ROMs, so the bucts trick below will actually cause
@ -437,7 +433,7 @@ And then do this:
**NOTE: This section partially relates to `utils` release archive in
Libreboot 20160907, which contains static compiled binaries for things like
bucts and flashrom. It will *still* work on modern distros, and thus is
bucts and flashprog. It will *still* work on modern distros, and thus is
still referenced here. The `flash` script in that release can be used, with
modern Libreboot ROMs. Current Libreboot releases do not include pre-compiled
utilities, only ROMs.**
@ -452,7 +448,7 @@ X60 BIOS password (Lenovo): you might find info here:
<https://bios-pw.org/>
You can just get bucts from the libreboot project, same thing for the patched
flashrom. In the Libreboot 20160907 release, there is a *utility* archive, which
flashprog. In the Libreboot 20160907 release, there is a *utility* archive, which
has statically compiled executables. They still work just fine on modern
systems, and they can be used for this purpose.
@ -467,11 +463,11 @@ Here are a list of targets:
and you will run it at 115200 baud rate. agetty/fgetty in Linux can give
you a serial console in your OS)
Download and build flashrom, using the instructions
Download and build flashprog, using the instructions
on [the Git page](../../git.md), and download the `bucts` software using the
notes on that very same page.
You can replace Lenovo BIOS with libreboot, using flashrom running on the host
You can replace Lenovo BIOS with libreboot, using flashprog running on the host
CPU. However, there are some considerations.
Firstly, make sure that the yellow CMOS battery is installed, and functioning
@ -483,7 +479,7 @@ load on it, which there will be. This coincell powers the real-time clock and
CMOS memory).
Lenovo BIOS restricts write access, but there is a weakness in it. With a
specially patched flashrom binary, you can easily flash it but the top 64KiB
specially patched flashprog binary, you can easily flash it but the top 64KiB
region of the boot flash, containing your bootblock, cannot be flashed just
yet. However, there is a register called the *Backup Control* or *BUC* register
and in that register is a status bit called *Top Swap* or *TS*.
@ -497,12 +493,12 @@ program referenced below.
The libreboot ROM images already have the upper 64KiB bootblock copied to the lower
one, so you don't have to worry about copying it yourself.
If you build flashrom using the libreboot build system, there will be three
If you build flashprog using the libreboot build system, there will be three
binaries:
* `flashrom`
* `flashrom_i945_sst`
* `flashrom_i945_mx`
* `flashprog`
* `flashprog_i945_sst`
* `flashprog_i945_mx`
It's these last two binaries that you should use. Now compile bucts (just
run `make` in the bucts source directory).
@ -514,19 +510,19 @@ Run the bucts tool:
Ensure that your CMOS battery is connected too. Now you must determine whether
you have Macronix or SST. An X60/T60 thinkpad will have either an SST or a
Macronix chip. The Macronix chip will have "MX" written on the chip. You will
use `flashrom_i945_sst` for the SST chip, and `flashrom_i945_mx` for the
use `flashprog_i945_sst` for the SST chip, and `flashprog_i945_mx` for the
Macronix chip.
Now run flashrom (for SST):
Now run flashprog (for SST):
sudo ./flashrom_i945_sst -p internal -w coreboot.rom
sudo ./flashprog_i945_sst -p internal -w coreboot.rom
Or Macronix:
sudo ./flashrom_i945_mx -p internal -w coreboot.rom
sudo ./flashprog_i945_mx -p internal -w coreboot.rom
NOTE: you *can* just run both. One of them will succeed. It is perfectly
harmless to run both versions of flashrom. In fact, you should do so!
harmless to run both versions of flashprog. In fact, you should do so!
You'll see a lot of errors. This is normal. You should see something like:
@ -554,17 +550,17 @@ Your flash chip is in an unknown state.
If you see this, rejoice! It means that the flash was successful. Please do not
panic. Shut down now, and wait a few seconds, then turn back on again.
**WARNING: if flashrom complains about `/dev/mem` access, please
run `sudo ./bucts 0`. If flashrom is complaining about `/dev/mem`, it means
**WARNING: if flashprog complains about `/dev/mem` access, please
run `sudo ./bucts 0`. If flashprog is complaining about `/dev/mem`, it means
that you have `CONFIG_STRICT_DEVMEM` enabled in your kernel. Reboot with the
following kernel parameter added in your bootloader: `iomem=relaxed` and try
again with the above instructions. DO NOT continue until the above works, and
you see the expected flashrom output as indicated above.**
you see the expected flashprog output as indicated above.**
If you *did* run flashrom and it failed to flash, but you set bucts to 1 and
If you *did* run flashprog and it failed to flash, but you set bucts to 1 and
shut down, don't worry. Just remove the yellow coin-cell battery (it's underneath
the keyboard, connected to the mainboard), wait a minute or two, reconnect the
coin-cell and try again from scratch. In this instance, if flashrom didn't do
coin-cell and try again from scratch. In this instance, if flashprog didn't do
anything, and didn't flash anything, it means you still have Lenovo BIOS but
if bucts is set to 1, you can flush it and set it back to 0. BUC.TS is stored in
volatile memory, powered by that CR2032 coin-cell battery.
@ -572,16 +568,16 @@ volatile memory, powered by that CR2032 coin-cell battery.
Assuming that everything went well:
Flash the ROM for a second time. For this second flashing attempt, the upper
64KiB bootblock is now read-write. Use the *unpatched* flashrom binary:
64KiB bootblock is now read-write. Use the *unpatched* flashprog binary:
sudo ./flashrom -p internal -w libreboot.rom
sudo ./flashprog -p internal -w libreboot.rom
To reset bucts, do this:
sudo ./bucts 0
ONLY set bucts back to 0 if you're sure that the upper 64KiB bootblock is
flashed. It is flashed if flashrom said VERIFIED when running the above
flashed. It is flashed if flashprog said VERIFIED when running the above
command.
If it said VERIFIED, shut down. If it didn't say VERIFIED, make sure bucts is
@ -627,13 +623,13 @@ ASUS KFSN4-DRE
The KFSN4-DRE has an LPC chip. Most people have been flashing these
internally, hot-swapping the chip out after boot, preserving the original chip,
and using flashrom on a new chip as described above.
and using flashprog on a new chip as described above.
TODO: Document PLCC32 (LPC) flashing.
The [FlexyICE](https://www.coreboot.org/FlexyICE) has been used to flash these
chips, but it is hard to find now. A custom flasher may be made such as
[flashrom serprog stm32](https://github.com/wosk/stm32-vserprog-lpc) or
[teensy flasher](https://www.flashrom.org/Teensy_3.1_SPI_%2B_LPC/FWH_Flasher)
[flashprog serprog stm32](https://github.com/wosk/stm32-vserprog-lpc) or
[teensy flasher](https://www.flashprog.org/Teensy_3.1_SPI_%2B_LPC/FWH_Flasher)
TARGET: DELL Precision T1650 desktop
------------------------------------

View File

@ -111,23 +111,26 @@ containing your NIC's configuration. This is the part that
many people will struggle with, so we will dedicated an
entire next section to it:
Use flashrom
Use flashprog
------------
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
If you wish to operate on the GbE section that's already
flashed, you should *dump* the current full ROM image.
If you already have a ROM image, you do not need to dump
it, so you can skip this section.
Download flashrom here:
Download flashprog here:
* <https://flashrom.org/>
* <https://flashprog.org/>
Using recent flashrom versions, you can extract this region. If
your regions are unlocked, you can run flashrom on the target
Using recent flashprog versions, you can extract this region. If
your regions are unlocked, you can run flashprog on the target
system, like so:
flashrom -p internal -r rom.bin
flashprog -p internal -r rom.bin
If your system has two flash chips, the GbE region is usually
stored on SPI1 (not SPI2). Otherwise, it may be that you have
@ -145,7 +148,7 @@ from and writing to the chip. See:
* <https://libreboot.org/docs/install/spi.html>
If you're using an external programmer, the `-p internal`
option should be changed accordingly. Read flashrom
option should be changed accordingly. Read flashprog
documentation, and make sure you have everything
properly configured.
@ -201,18 +204,18 @@ This will create the file `rom.bin.new`, which contains
your modified GbE section with the NVM images inside; this
includes your MAC address.
Refer to flashrom documentation. You may flash the new ROM
Refer to flashprog documentation. You may flash the new ROM
like so, if running on the same system and the regions are
read-write:
flashrom -p internal -w rom.bin.new
flashprog -p internal -w rom.bin.new
Newer versions of flashrom support flashing just the specified
Newer versions of flashprog support flashing just the specified
region, like so:
flashrom -p internal --ifd -i gbe -w rom.bin.new
flashprog -p internal --ifd -i gbe -w rom.bin.new
If you're running flashrom from host CPU on the target
If you're running flashprog from host CPU on the target
system, and it's dual flash, you can just flash the
concatenated image, which you created earlier by running
the `cat` program; dual-IC flash configurations appear to

View File

@ -64,7 +64,10 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
MAC address {#macaddress}
===========

View File

@ -3,6 +3,9 @@ title: Read/write 25XX NOR flash via SPI protocol
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
@ -14,7 +17,7 @@ which uses LPC flash in a PLCC32 socket, which you can simply hot-swap after
booting the vendor firmware, and then flash internally. Simple!
We will be using
the [flashrom](https://flashrom.org/Flashrom) software which is written to
the [flashprog](https://flashprog.org/Flashrom) software which is written to
dump, erase and rewrite these flash chips.
libreboot currently documents how to use these SPI programmers:
@ -36,7 +39,7 @@ libreboot is running.
*Internal* flashing means that the host CPU on your system can re-program the
SPI flash, using an on-board SPI programmer (which all boards have). You do this
from Linux, with flashrom.
from Linux, with flashprog.
*This* guide that you're reading now is for using an *external* programmer. It
is called *external* because it's not the *internal* one on your mainboard.
@ -108,7 +111,7 @@ will appear:
Take note of the ttyACMx. Flashrom is now usable
(substitute ttyACMx with what you observed earlier).
flashrom -p serprog:dev=/dev/ttyACMx,spispeed=16M
flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M
spispeed=32M usually works, but since it's not much faster it's probably
not worth it. The 12Mbps USB port is limiting the actual speed here.
@ -267,7 +270,7 @@ BeagleBone Black (BBB)
----------------------
SSH into your BeagleBone Black. It is assumed that you are running Debian 9 on
your BBB. You will run `flashrom` from your BBB.
your BBB. You will run `flashprog` from your BBB.
NOTE: This section is out of date, because it is written for Debian 9 (running
on the BBB)
@ -308,9 +311,9 @@ RemainAfterExit=yes
WantedBy=multi-user.target
```
Now test flashrom:
Now test flashprog:
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
It is important to use `spispeed=512` or a lower number such as 256 or 128,
because otherwise the BBB will be quite unstable.
@ -320,7 +323,7 @@ Example output:
```
Calibrating delay loop... OK.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
Note: flashprog can never write if the flash chip isn't found automatically.
```
This means that it's working (the clip isn't connected to any flash
@ -339,7 +342,7 @@ TODO: document other SPI flashers
Rasberry Pi (RPi)
-----------------
SSH into your Raspberry Pi. You will run `flashrom` from your Raspberry Pi.
SSH into your Raspberry Pi. You will run `flashprog` from your Raspberry Pi.
You must configure `spidev` on your Raspberry Pi. This is a special driver in
the Linux kernel; technically, the driver name is `spi-bcm2835`.
@ -447,7 +450,7 @@ Website:
<https://librerpi.github.io/>
Install flashrom
Install flashprog
----------------
If you're using a BBB or RPi, you will do this while SSH'd into those.
@ -456,7 +459,7 @@ Flashrom is the software that you will use, for dumping, erasing and rewriting
the contents of your NOR flash.
In the libreboot build system, from the Git repository, you can download and
install flashrom. Do this after downloading the
install flashprog. Do this after downloading the
[lbmk Git repository](https://codeberg.org/libreboot/lbmk):
cd lbmk
@ -465,7 +468,7 @@ install flashrom. Do this after downloading the
NOTE: debian, arch or void can be written instead of ubuntu2004. the debian
script is also applicable to newer ubuntu versions
./update trees -b flashrom
./update trees -b flashprog
If the `ubuntu2004` script complains about missing dependencies, just modify
the dependencies config to remove those dependencies. The script is located
@ -473,29 +476,29 @@ at `config/dependencies/ubuntu2004` and it is written for
Ubuntu 20.04, but it should work fine in other Linux distributions that use
the `apt-get` package manager.
A `flashrom/` directory will be present, with a `flashrom` executable inside
A `flashprog/` directory will be present, with a `flashprog` executable inside
of it. If you got an error about missing package when running the dependencies
command above, tweak `config/dependencies/ubuntu2004`. That
script downloads and installs build dependencies in apt-get and it is intended
for use on x86-64 systems running Ubuntu 20.04, but it should work in Raspbian
on the Raspberry Pi.
Alternatively, you may download flashrom directly from upstream
at <https://flashrom.org/Flashrom>
Alternatively, you may download flashprog directly from upstream
at <https://flashprog.org/Flashrom>
If you're flashing a Macronix flashchip on a ThinkPad X200, you will want to
use a special patched version of flashrom, which you can download here:
use a special patched version of flashprog, which you can download here:
<https://vimuser.org/hackrom.tar.xz> - patched source code is available, and a
binary is also available that you can simply run. Pass the `--workaround-mx`
argument in flashrom. This mitigates stability issues.
argument in flashprog. This mitigates stability issues.
If you downloaded the flashrom source code directly, you can go into the
If you downloaded the flashprog source code directly, you can go into the
directory and simply type `make`. In the libreboot build system, build
dependencies are documented in configuration files located
at `config/dependencies/` which you can install
using the `apt-get` software.
How to use flashrom
How to use flashprog
===================
Read past these sections, further down this page, to learn about specific chip
@ -510,11 +513,11 @@ current chip contents to a file.
Run this command to see if 25xx flash is detected, with your RPi properly
wired.
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
For BBB, you must use a lower speed and a different device path:
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
On BBB, never use a speed higher than `spispeed=512`. In some cases, you may
even need to go as low as `spispeed=128`. The BBB is highly unstable and
@ -532,11 +535,11 @@ or you can try flashing it with a new ROM.
Dump it like so (RPi):
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
For BBB, do this:
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
It is advisable to take a *2nd* dump, e.g. `dump2.bin`, and then check sha1sum:
@ -567,11 +570,11 @@ Writing
Next, run this command (RPi):
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
If using BBB:
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
If using BBB, you may have to use a lower speed than 512. You may also have to
re-flash several times before it works fully.

View File

@ -7,7 +7,7 @@ x-toc-enable: true
本指南将教你怎样使用各种工具,通过 SPI 协议对 25xx NOR flash 进行外部再编程。这是 coreboot 所支持的计算机中,最常见的 flash IC 类型。目前 libreboot 支持的每个系统,基本都使用这种类型的引导 flash唯一的例外就是 ASUS KFSN4-DRE它在 PLCC32 芯片座中使用了 LPC flash你可以在供应商固件启动后对其进行热切换然后再内部刷入。十分简单
我们会用到 [flashrom](https://flashrom.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
我们会用到 [flashprog](https://flashprog.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
libreboot 目前记录了这些 SPI 编程器的使用方法:
@ -20,7 +20,7 @@ libreboot 目前记录了这些 SPI 编程器的使用方法:
大部分支持 libreboot 机器,都需要在第一次刷写的时候,借助这里的教程或是类似教程,对其进行外部再刷写。不过,目前支持的所有机器,你都可以在 libreboot 运行时,对其进行内部再刷写。
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashrom 做到。
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashprog 做到。
你在读的*这个*教程,使用的是*外部*编程器。之所以叫*外部*,是因为用的不是主板上的*内部*编程器。
@ -85,7 +85,7 @@ will appear:
Take note of the ttyACMx. Flashrom is now usable
(substitute ttyACMx with what you observed earlier).
flashrom -p serprog:dev=/dev/ttyACMx,spispeed=16M
flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M
spispeed=32M usually works, but since it's not much faster it's probably
not worth it. The 12Mbps USB port is limiting the actual speed here.
@ -173,7 +173,7 @@ DIP8
BeagleBone BlackBBB
----------------------
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashrom`。
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashprog`。
注意:该部分已过时,因为它是写给 BBB 上运行的 Debian 9 的。
@ -212,9 +212,9 @@ RemainAfterExit=yes
WantedBy=multi-user.target
```
现在测试 flashrom
现在测试 flashprog
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
重要的一点是,要使用 `spispeed=512` 或者更低的速度,例如 256 或 128否则 BBB 会十分不稳定。
@ -223,7 +223,7 @@ WantedBy=multi-user.target
```
Calibrating delay loop... OK.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
Note: flashprog can never write if the flash chip isn't found automatically.
```
这表示正常工作了(夹子没连接任何 flash 芯片,所以出错是正常的)。
@ -238,7 +238,7 @@ BBB 注意事项
Rasberry PiRPi
-----------------
SSH 连接到树莓派。你将在树莓派上运行 `flashrom`。
SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。
你必须在树莓派上配置 `spidev`。这是 Linux 内核的一个特别驱动;它严谨的名字叫做 `spi-bcm2835`
@ -256,7 +256,7 @@ SSH 连接到树莓派。你将在树莓派上运行 `flashrom`。
RPi 驱动强度Drive Strength
------------------
RPi 的 flashrom 可能无法检测到一些系统的 SPI flash即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是在保持高电平最低电压的同时引脚最高能输出的电流。对树莓派而言这个电压是 3.0 V。
RPi 的 flashprog 可能无法检测到一些系统的 SPI flash即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是在保持高电平最低电压的同时引脚最高能输出的电流。对树莓派而言这个电压是 3.0 V。
类似地也要满足一个最低电压SPI flash 芯片才会把它当成高逻辑电平。这个值一般是 SPI flash 的 0.7*VCC对 3.3V 的芯片而言也就是 2.31V。如果驱动强度太低了,那 flash 芯片的引脚处的电压可能会低于最低电压,导致它被视为发送了低逻辑电平,而不是高逻辑电平。
@ -309,33 +309,33 @@ RPi 的自由固件
<https://librerpi.github.io/>
安装 flashrom
安装 flashprog
----------------
如果你在使用 BBB 或者 RPi你需要在 SSH 进去之后再这么做。
Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashrom。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashprog。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
cd lbmk
sudo ./build dependencies ubuntu2004
注意:你可以输入 debian、arch 或 void 来替换 ubuntu。debian 脚本也可以用于新版 ubuntu。
./update trees -b flashrom
./update trees -b flashprog
如果 `ubuntu2004` 报告了依赖缺失,编辑一下这个脚本,把缺失的依赖移除就行了。脚本位于 `config/dependencies/ubuntu2004`,它是写给 Ubuntu 20.04 的,但在其他使用 `apt-get` 包管理器的 Linux 发行版应该也能用。
接下来,会出现一个 `flashrom/` 目录,其中有一个 `flashrom` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。
接下来,会出现一个 `flashprog/` 目录,其中有一个 `flashprog` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。
或者,你可以直接从上游下载 flashrom位于<https://flashrom.org/Flashrom>
或者,你可以直接从上游下载 flashprog位于<https://flashprog.org/Flashrom>
如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashrom 的特别修改版,下载地址在这里:<https://vimuser.org/hackrom.tar.xz> —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashrom。这会缓解稳定性问题。
如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashprog 的特别修改版,下载地址在这里:<https://vimuser.org/hackrom.tar.xz> —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashprog。这会缓解稳定性问题。
如果你直接下载了 flashrom 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
如果你直接下载了 flashprog 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
如何使用 flashrom
如何使用 flashprog
===================
请先阅读本页更下方的部分,了解特定的芯片类型及其接线方法。
@ -347,11 +347,11 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
树莓派正确接线后,运行这个命令来查看是否检测到 25xx flash
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
对 BBB 而言,必须使用更慢的速度及不同的设备路径:
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
在 BBB 上,绝对不要使用高于 `spispeed=512` 的速度。有时候,你可能还要低到 `spispeed=128` 的速度。BBB 对 SPI 刷写而言非常不稳定、不可靠。在读取的时候,要多次读出,并检查它们的 checksum 是否一致,然后再刷。你可能需要多次刷写芯片!
@ -361,11 +361,11 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
在 RPi 上,这样读出:
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
BBB 的话,这样:
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
建议读出*两次*,比如弄一个 `dump2.bin`,然后检查 sha1sum
@ -386,11 +386,11 @@ BBB 的话,这样:
接下来运行这个命令RPi
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
如果用的是 BBB
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
用 BBB 的时候,可能得使用低于 512 的速度。你也许还得多次重复刷写,才能完全工作。

View File

@ -3,6 +3,9 @@ title: Generic SPI Flashing Guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
@ -83,24 +86,24 @@ sudo ldto merge spicc spicc-spidev
Using Flashrom
==============
Most linux distros will provide flashrom in their default repositories.
You can also download flashrom in binary form with [libreboot utils.](https://libreboot.org/download.html#https)
Most linux distros will provide flashprog in their default repositories.
You can also download flashprog in binary form with [libreboot utils.](https://libreboot.org/download.html#https)
Here is an example using raspbian:
```
sudo apt update
sudo apt install flashrom
sudo apt install flashprog
```
Reading/writing from SPI works respectively as such:
```
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r /path/to/read.bin
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r /path/to/read.bin
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
```
Note that `spispeed` varies based on the board in question.
A standard lower limit is *512.*
For example, to read on a board with a lower SPI speed, you may try:
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r /path/to/read.bin
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r /path/to/read.bin

View File

@ -3,6 +3,9 @@ title: Flashing the ThinkPad T400 externally
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Dell Latitude E6400
===================
@ -77,7 +80,7 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
MAC address {#macaddress}
===========

View File

@ -3,6 +3,9 @@ title: ThinkPad T440p external flashing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
@ -65,7 +68,7 @@ external flashing.
dd if=libreboot.rom of=bottom.rom bs=1M count=8
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the
image size is incorrect for the chip you're flashing.

View File

@ -3,6 +3,9 @@ title: ThinkPad T500 external flashing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**If you haven't bought a T500 yet: the [Dell Latitude
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
@ -73,7 +76,7 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
MAC address {#macaddress}
===========

View File

@ -3,6 +3,9 @@ title: ThinkPad T60 Recovery guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
This section documents how to recover from a bad flash that prevents
your ThinkPad T60 from booting.
@ -160,16 +163,16 @@ which all draw a lot of current, more than your flasher can provide.
Example command:
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
If flashrom complains about multiple flash chips detected, just pass the `-c`
If flashprog complains about multiple flash chips detected, just pass the `-c`
option as it suggests, and pick any of the chips it lists. `spispeed=4096` or
lower (e.g. `spispeed=512`) is recommended on this board. The flashing becomes
unstable, on this machine, when you use higher speeds.
Reverse the steps to re-assemble your system, after you've flashed the chip.
It should be `Verifying flash... VERIFIED` at the end. If flashrom
It should be `Verifying flash... VERIFIED` at the end. If flashprog
complains about multiple flash chip definitions detected, then choose
one of them following the instructions in the output.

View File

@ -3,6 +3,9 @@ title: First-time ThinkPad X200 flashing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**If you haven't bought an X200 yet: the [Dell Latitude
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
@ -25,7 +28,7 @@ Flash chip size
Run this command on x200 to find out flash chip model and its size:
flashrom -p internal
flashprog -p internal
MAC address
===========
@ -106,7 +109,7 @@ Look just above the 7 in TP37 (that's GPIO33):
![](https://av.libreboot.org/x200/gpio33_location.jpg)
By default we would see this in lenovobios, when trying flashrom -p
By default we would see this in lenovobios, when trying flashprog -p
internal -w rom.rom:
```
@ -147,7 +150,7 @@ that does the flashing; Lenovo BIOS then probably sees that and runs that, inste
of setting PRx and going for normal boot. It is theoretically possible that we
could discover how this works, by debugging the Lenovo BIOS update utility (in
Windows), and then replicate what it is doing, with some tool for Linux,
then load a flashrom binary into memory and the ROM to flash (for the BIOS
then load a flashprog binary into memory and the ROM to flash (for the BIOS
region). You would do this with GPIO33 grounded, and the payload program would
actually flash the entire chip, with just a normal libreboot image.

View File

@ -3,6 +3,9 @@ title: Прошивка ThinkPad X200 вперше
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**If you haven't bought an X200 yet: the [Dell Latitude
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
@ -25,7 +28,7 @@ same hardware generation (GM45), with same CPUs, video processor, etc.**
Виконайте цю команду на x200, щоб дізнатися модель флеш-чіпа та його розмір:
flashrom -p internal
flashprog -p internal
MAC адреса
===========
@ -106,7 +109,7 @@ sgsit дізнався про контакт під назвою GPIO33, яки
![](https://av.libreboot.org/x200/gpio33_location.jpg)
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashrom -p
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashprog -p
internal -w rom.rom:
FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
@ -141,7 +144,7 @@ internal -w rom.rom:
встановлення PRx і переходу до нормального завантаження. Теоретично можливо, що ми
зможемо дізнатися, як це працює, налагодивши утиліту оновлення BIOS Lenovo (у
Windows), а потім відтворивши її дії за допомогою якогось інструменту для Linux,
а потім завантаживши двійковий файл flashrom в пам'ять та ROM для прошивки (для BIOS
а потім завантаживши двійковий файл flashprog в пам'ять та ROM для прошивки (для BIOS
регіона). Ви б зробили це з заземленням GPIO33, і програма корисного навантаження
фактично прошиє весь чіп, лише звичайним образом libreboot.

View File

@ -3,6 +3,9 @@ title: ThinkPad X230/X230T external flashing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
@ -58,7 +61,7 @@ external flashing.
dd if=libreboot.rom of=bottom.rom bs=1M count=8
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the
image size is incorrect for the chip you're flashing.

View File

@ -3,6 +3,9 @@ title: Modifying grub.cfg in CBFS
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Before you follow this guide, it is advisable that you have the ability to
flash externally, just in case something goes wrong.
@ -27,7 +30,7 @@ a *soft brick* where your machine is effectively useless and, in that scenario,
may or may not require external flashing equipment for restoring the machine to
a known state.
Compile flashrom and cbfstool
Compile flashprog and cbfstool
=============================
libreboot does not currently distribute utilities pre-compiled. It only
@ -75,34 +78,34 @@ The `cbfstool` utility is what you shall use. It is used to manipulate CBFS
(coreboot file system) which is a file system contained within the coreboot
ROM image; as a *coreboot distribution*, libreboot inherits this technology.
You will also want to build `flashrom` which libreboot recommends for reading
You will also want to build `flashprog` which libreboot recommends for reading
from and/or writing to the boot flash. In the libreboot build system, you can
build it by running this command:
./update trees -b flashrom
./update trees -b flashprog
An executable will be available at `src/flashrom/flashrom` after you have done
An executable will be available at `src/flashprog/flashprog` after you have done
this.
Dump the boot flash
===================
If you wish to modify your *existing* libreboot ROM, which was installed on
your computer, you can use `flashrom` to acquire it.
your computer, you can use `flashprog` to acquire it.
Simply run the following, after using libreboot's build system to compile
flashrom:
flashprog:
sudo ./src/flashrom/flashrom -p internal -r dump.bin
sudo ./src/flashprog/flashprog -p internal -r dump.bin
If flashrom complains about multiple flash chip definitions, do what it says to
If flashprog complains about multiple flash chip definitions, do what it says to
rectify your command and run it again.
You may want to use the following, instead of `-p internal`:
`-p internal:laptop=force_I_want_a_brick,boardmismatch=force`
Do not let the word *brick* fools you. This merely disables the safety checks
in flashrom, which is sometimes necessary depending on what ROM was already
in flashprog, which is sometimes necessary depending on what ROM was already
flashed, versus the new ROM image.
The `internal` option assumes that internal read/write is possible; this is
@ -195,17 +198,17 @@ Flash the modified ROM image
Your modified `dump.bin` or other modified libreboot ROM can then be re-flashed
using:
sudo ./flashrom -p internal -w dump.bin
sudo ./flashprog -p internal -w dump.bin
If a `-c` option is required, use it and specify a flash chip name. This is
only useful when `flashrom` complains about multiple flash chips being
only useful when `flashprog` complains about multiple flash chips being
detected.
If flashrom complains about wrong chip/board, make sure that your ROM is for
If flashprog complains about wrong chip/board, make sure that your ROM is for
the correct system. If you're sure, you can disable the safety checks by running
this instead:
sudo ./flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w dump.bin
sudo ./flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w dump.bin
If you need to use external flashing equipment, see the link above to the
Raspberry Pi page.

View File

@ -3,6 +3,9 @@ title: lbmk maintenance manual
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
In addition to this manual, you should also refer to [porting.md](porting.md)
and [testing.md](testing.md).
@ -222,12 +225,12 @@ This may be less efficient on disk usage, but it simplifies the logic greatly.
Coreboot also uses its own toolchain called *crossgcc*, and crossgcc is in fact
compiled *per tree* in Libreboot.
src/flashrom/
src/flashprog/
---------------
Please also visit: <https://flashrom.org/>
Please also visit: <https://flashprog.org/>
Although currently unused by any part of lbmk, we provide flashrom for the
Although currently unused by any part of lbmk, we provide flashprog for the
convenience of users, and this is copied to release archives. Flashrom is the
program that you will use to read, erase and write the flash, containing
coreboot firmware.

View File

@ -2,6 +2,9 @@
title: Porting guide for new mainboards
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
NOTE: This page is largely Intel-centric, at present. It should be revised to
cover more vendors. [Patches welcome!](../../git.md)
@ -93,7 +96,7 @@ Wrong CBFS and or ROM size
Different boards have different flash chip setups.
Generally, you have one or two flash chips with a combined size of 4-16MB.
Thankfully, flashrom will let you know the size of the flash chip you're flashing.
Thankfully, flashprog will let you know the size of the flash chip you're flashing.
For example: when flashing an X230, you'll see that one chip is 8192, and the other is 4096.
The total rom size should therefore be set as 12MB.

View File

@ -2,6 +2,9 @@
title: Керівництво перенесення
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Це керівнитво передбачається для тих, хто має дуже низький рівень знань про прошивку
загалом та coreboot окремо.
Більшість плат в coreboot може бути доволі легко перенесена в libreboot.
@ -90,7 +93,7 @@ libreboot як `плата.`
Різні плати мають різні налаштування чіпів флеш-пам'яті.
Загалом, ви маєте один або два флеш-пам'яті з сумарним розміром в 4-16Мбайт.
На щастя, flashrom дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
На щастя, flashprog дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
Наприклад: коли прошиваєте X230, ви побачите, що один чіп 8192, та інший 4096.
Сумарний розмір rom тоді має бути встановлено на 12Мбайт.

View File

@ -202,4 +202,4 @@ images for which the regular Libreboot source code archives suffice. These newer
releases instead automate the installation of build dependencies, with instructions
in the documentation for building various utilities from source.
These executables are utilities such as `flashrom`.
These executables are utilities such as `flashprog`.

View File

@ -202,4 +202,4 @@ Libreboot включає статично зв'язані виконувані
випуски натомість автоматизують встановлення залежностей побудови, з інструкцієї
в документації для побудови різних утиліт з джерельного коду.
Ці виконувані файли є утилітами, подібними `flashrom`.
Ці виконувані файли є утилітами, подібними `flashprog`.

View File

@ -3,6 +3,9 @@ title: Frequently Asked Questions
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
AKA Frequently Questioned Answers
Important issues
@ -60,15 +63,15 @@ if you are interested in testing roms before they are released.
Flashrom complains about DEVMEM access
--------------------------------------
If running `flashrom -p internal` for software based flashing, and
If running `flashprog -p internal` for software based flashing, and
you get an error related to /dev/mem access, you should reboot with
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel
`iomem=relaxed` kernel parameter before running flashprog, or use a kernel
that has `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` not enabled.
Example flashrom output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
Example flashprog output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
```
flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashrom is free software, get the source code at https://flashrom.org
flashprog v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashprog is free software, get the source code at https://flashprog.org
Calibrating delay loop... OK.
Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000
@ -626,7 +629,7 @@ simply use dd(1) to extract only the non-padded portion. Continuing with the
examples above, in order to extract a 2MiB x86 descriptorless ROM from a
padded 16MiB image do the following:
dd if=flashromread.rom of=yourrom.rom ibs=14MiB skip=1
dd if=flashprogread.rom of=yourrom.rom ibs=14MiB skip=1
With padding removed cbfstool will be able to operate on the image as usual.

View File

@ -3,6 +3,9 @@ title: Часті питання
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Також відомо як Відповіді на часті питання
Важливі питання
@ -46,15 +49,15 @@ Libreboot](freedom-status.uk.md)
Flashrom скаржиться на доступ DEVMEM
--------------------------------------
Якщо запущено `flashrom -p internal` для програмної перепрошивки та
Якщо запущено `flashprog -p internal` для програмної перепрошивки та
ви отримуєте помилку, пов'язану з доступом до /dev/mem, вам слід перезавантажити систему з
параметром ядра `iomem=relaxed` перед виконанням flashrom, або використовуйте ядро,
параметром ядра `iomem=relaxed` перед виконанням flashprog, або використовуйте ядро,
для якого не ввімкнено `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM`.
Приклад виводу flashrom з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
Приклад виводу flashprog з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
```
flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashrom is free software, get the source code at https://flashrom.org
flashprog v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashprog is free software, get the source code at https://flashprog.org
Calibrating delay loop... OK.
Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000
@ -648,7 +651,7 @@ ROM та флеш-чіпом. Випадок вище, наприклад:
наведені вище приклади, щоб видобути ROM без дескрипторів 2 МБ x86 із доповненого
образа 16 МБ, виконайте наступне:
dd if=flashromread.rom of=вашrom.rom ibs=14MiB skip=1
dd if=flashprogread.rom of=вашrom.rom ibs=14MiB skip=1
Після видалення заповнення cbfstool зможе працювати із образом як зазвичай.

View File

@ -2,6 +2,9 @@
% Leah Rowe
% 20 October 2023
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Introduction
============
@ -348,12 +351,12 @@ The commits are, thus:
* c7e764a3 update/release: confirm vdir path on exit
* 1c8b2114 update/release: copy crossgcc to archive
* 54a05fc1 always re-generate .git in lbmk
* 52c9416b update flashrom revision
* af1c1e10 add backup git repo for flashrom
* 18364822 Revert "config/git: don't download flashrom"
* 52c9416b update flashprog revision
* af1c1e10 add backup git repo for flashprog
* 18364822 Revert "config/git: don't download flashprog"
* ac442808 config/git: add more backup repos
* 75980052 git/config: don't use github on main repos
* bf4ea810 config/git: don't download flashrom
* bf4ea810 config/git: don't download flashprog
* da3044e7 git/config stm32-vserprog: don't fetch libopencm3
* 782371a5 update/release: delete *all* .git and .gitmodules
* 743a425c include/git: fix already-exists download message

View File

@ -2,6 +2,9 @@
% Leah Rowe
% 31 December 2023
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Introduction
============
@ -79,7 +82,7 @@ And now, specific changes:
courtesy of Leah Rowe.
* **NEW BOARD:** HP 8300 CMT mainboard, added by Riku Viitanen, who worked
on it with a tester in the IRC channel.
* Fixed implicit typecasting bug on flashrom 1.2 source code, thus preventing
* Fixed implicit typecasting bug on flashprog 1.2 source code, thus preventing
a build issue (tested on Debian 12.2). Patch courtesy of Leah Rowe.
* `script/build/roms`: Rename `check_target` to `configure_target`
and `prepare_target` to `configure_dependencies`, for increased code clarity.
@ -256,7 +259,7 @@ And now, specific changes:
script was making improper use of subshells, leading to a zero exit, when
it should have exited with non-zero status in such situations. Patch/fix
courtesy of Leah Rowe.
* Bumped flashrom revision back to version 1.2, because the 1.4 RC we were
* Bumped flashprog revision back to version 1.2, because the 1.4 RC we were
importing has issues (also, Nico Huber's flashprog will probably be used
in future releases of Libreboot). Patch courtesy of Leah Rowe.
* Debian dependencies config: Fixed the freetype dependency, as tested on
@ -313,7 +316,7 @@ Exact git log, relative to 20231106:
| * 74147ea4 Add HP 8300 CMT port
|/
* 0aca6332 lbmk scripts: shorter code lines
* 575332f2 fix flashrom build error (implicit enum typecast)
* 575332f2 fix flashprog build error (implicit enum typecast)
* b4ab3057 lbmk scripts: general code cleanup
* 38a7aa31 build/roms: rename two functions for clarity
* 746d9cad build: remove test command
@ -417,7 +420,7 @@ Exact git log, relative to 20231106:
|\
| * 50bfe1ca fix void dependencies typo
|/
* 4e00ac00 revert flashrom back to version 1.2
* 4e00ac00 revert flashprog back to version 1.2
* 83c8248f dependencies/debian: fix libfreetype-dev
* 39aad578 grub: re-add fat/nt file system modules
* 47ef411e Bump GRUB revision to 8 November 2023 revision

View File

@ -24,7 +24,7 @@ Revision (22nd June 2014 - extra)
Revision (22nd June 2014 - extra)
---------------------------------
- Documentation: Improved the instructions for using flashrom
- Documentation: Improved the instructions for using flashprog
- Documentation: Improved the instructions for using cbfstool (to
change the default GRUB menu)
- Documentation: Numerous small fixes.

View File

@ -59,8 +59,8 @@ Revisions for r20140711 (1st beta) (11th July 2014)
- Merged changes for digitizer (X60 Tablet) and IR (X60 and T60) based
on 5243/17, 5242/17 and 5239/19 from review.coreboot.org
- (see ./resources/libreboot/patch/gitdiff and ./getcb)
- Documentation: added information about building flashrom using
'builddeps-flashrom' script.
- Documentation: added information about building flashprog using
'builddeps-flashprog' script.
- Re-created resources/libreboot/config/x60config
- Re-created resources/libreboot/config/t60config
- Added 'x60tconfig' in resources/libreboot/config (because X60
@ -81,7 +81,7 @@ Revisions for r20140711 (1st beta) (11th July 2014)
- Added 'getmt86' script for getting the memtest86+ version used,
and patching it.
- Added 'getbucts' script for getting the bucts version used.
- Added 'getflashrom' script for getting the flashrom version used,
- Added 'getflashprog' script for getting the flashprog version used,
and patching it
- Added 'getall' script which runs all of the other 'get' scripts.
- Add instructions to the 'build' script to prepare
@ -100,32 +100,32 @@ Revisions for r20140711 (1st beta) (11th July 2014)
libreboot\_src after running 'getall'.
- Annotated the 'builddeb' script, to say what each set of
dependencies are for.
- Separated bucts/flashrom builddeb sections into separate scripts:
builddeb-flashrom, builddeb-bucts.
- Separated bucts/flashprog builddeb sections into separate scripts:
builddeb-flashprog, builddeb-bucts.
- Documentation: Updated relevant parts based on the above.
- Added instructions to 'build' script for including builddeb-bucts
and builddeb-flashrom in libreboot\_bin
- Updated flashrom checkout (r1822 2014-06-16) from SVN
(http://flashrom.org/Downloads).
and builddeb-flashprog in libreboot\_bin
- Updated flashprog checkout (r1822 2014-06-16) from SVN
(http://flashprog.org/Downloads).
- Updated flashing instructions in docs/ for new commands needed
(Macronix chip on X60/T60)
- For X60/T60 (flashrom): Patched
- For X60/T60 (flashprog): Patched
flashchips.c\_lenovobios\_macronix and
flashchips.c\_lenovobios\_sst executables for SST/macronix
(included in resources/flashrom/patch)
- Updated builddeps to build flashrom\_lenovobios\_sst and
flashrom\_lenovobios\_macronix, for X60/T60 users with Lenovo
(included in resources/flashprog/patch)
- Updated builddeps to build flashprog\_lenovobios\_sst and
flashprog\_lenovobios\_macronix, for X60/T60 users with Lenovo
BIOS
- moved the flashrom build instructions from 'builddeps' and put
them in 'builddeps-flashrom', excecuting that from
- moved the flashprog build instructions from 'builddeps' and put
them in 'builddeps-flashprog', excecuting that from
'builddeps'.
- Added builddeps-flashrom to libreboot\_bin.tar.gz
- flashrom: added patched flashchips.c to resources/flashrom/patch
- Added builddeps-flashprog to libreboot\_bin.tar.gz
- flashprog: added patched flashchips.c to resources/flashprog/patch
(automatically use correct macronix chip on libreboot, without using
'-c' switch)
- removed 'MX25L1605' and 'MX25L1605A/MX25L1606E' entries in
flashchips.c for the patched version of flashchips.c
- added instructions to 'builddeps-flashrom' to automatically
- added instructions to 'builddeps-flashprog' to automatically
use this modified flashchips.c in the default build
- Added builddeb to libreboot\_bin.tar.gz
- Moved 'bucts' build instructions from builddeps to builddeps-bucts
@ -139,15 +139,15 @@ Revisions for r20140711 (1st beta) (11th July 2014)
in libreboot\_bin
- Documentation: Add tutorial for flashing while Lenovo BIOS is
running (on X60/T60)
- Added 'flash' script (make sure to run builddeps-flashrom first)
which (while libreboot is already running) can use flashrom to flash
- Added 'flash' script (make sure to run builddeps-flashprog first)
which (while libreboot is already running) can use flashprog to flash
a ROM
- eg: "sudo ./flash bin/x60/coreboot\_serial\_ukdvorak.rom"
equivalent to "sudo ./flashrom/flashrom -p internal -w
equivalent to "sudo ./flashprog/flashprog -p internal -w
bin/x60/coreboot\_uk\_dvorak.rom"
- updated 'build' script to include the 'flash' script in
libreboot\_bin.tar.gz
- Documentation: replaced default flashrom tutorial to recommend the
- Documentation: replaced default flashprog tutorial to recommend the
'flash' script instead.
- Re-add cbfstool source code back into libreboot\_bin.tar.gz, as
cbfstool\_standalone
@ -208,7 +208,7 @@ Revisions for r20140711 (1st beta) (11th July 2014)
'builddeps-memtest86', link from 'builddeps'
- Link to 'builddeps-memtest86' in final stage of 'getmt86'
- made 'build' script put resources/ directory in libreboot\_bin, to
make builddeps-flashrom work in libreboot\_bin
make builddeps-flashprog work in libreboot\_bin
- Removed instructions for building source code in the 'get' script
(they don't really belong there)
- Added libfuse-dev and liblzma-dev to the list of GRUB dependencies

View File

@ -19,8 +19,8 @@ Revisions for r20140729 (4th beta) (29th July 2014)
- Removed .git and .gitignore from bucts directory
(libreboot\_src); not needed. Removing them reduces the size of
the archive. bucts development should be upstream.
- Removed .svn from flashrom directory (libreboot\_src); not
needed. Removing it reduces the size of the archive. flashrom
- Removed .svn from flashprog directory (libreboot\_src); not
needed. Removing it reduces the size of the archive. flashprog
development should be upstream.
- Added ROMs with Qwerty (Italian) layout in GRUB
(libreboot\*itqwerty.rom)

View File

@ -6,7 +6,7 @@ Revisions for r20140903 (6th beta) (3rd September 2014)
-------------------------------------------------------
- Added modified builddeb\* scripts for Arch-based distros:
buildpac, buildpac-flashrom, buildpac-bucts (courtesy of Noah
buildpac, buildpac-flashprog, buildpac-bucts (courtesy of Noah
Vesely)
- Documentation: added information showing how to enable or disable
bluetooth on the X60
@ -54,7 +54,7 @@ Revisions for r20140903 (6th beta) (3rd September 2014)
- Updated GRUB to new version from August 14th, 2014.
- Unified all grub configurations for all systems to a single grub.cfg
under resources/grub/config/
- Updated flashrom to new version from August 20th, 2014
- Updated flashprog to new version from August 20th, 2014
- Added getseabios and builddeps-seabios (builddeps and getall were
also updated)
- Added instructions to 'buildrom-withgrub' to include
@ -99,15 +99,15 @@ Revisions for r20140903 (6th beta) (3rd September 2014)
gcry\_tiger gcry\_whirlpool~~
- Added GNUtoo's list of GRUB modules (includes all of the gcry\_\*
modules above), cryptomount should be working now.
- Removed builddeb-bucts and builddeb-flashrom, merged them with
- Removed builddeb-bucts and builddeb-flashprog, merged them with
builddeb ( updated accordingly)
- Removed buildpac-bucts and buildpac-flashrom, merged them with
- Removed buildpac-bucts and buildpac-flashprog, merged them with
buildpac ( updated accordingly)
- Documentation: removed all parts talking about build dependencies,
replaced them with links to \#build\_dependencies
- Documentation: emphasized more strongly on the documentation, the
need to re-build bucts and/or flashrom before flashing a ROM image.
- build-release: flashrom, nvramtool, cbfstool and bucts are no longer
need to re-build bucts and/or flashprog before flashing a ROM image.
- build-release: flashprog, nvramtool, cbfstool and bucts are no longer
provided pre-compiled in binary archives, and are now in source form
only. (to maximize distro compatibility).
- 'build' script: replaced grub.elf assembly instructons, it is now

View File

@ -46,7 +46,7 @@ Changes for this release (latest changes first, earliest changes last)
- grub.cfg: ISOLINUX parsing is now done on all USB partitions.
- grub.cfg: Automatically switched to /boot/grub/libreboot\_grub.cfg
on a partition, if it exists.
- libreboot\_bin: added static ARM binaries for flashrom, cbfstool,
- libreboot\_bin: added static ARM binaries for flashprog, cbfstool,
ich9gen and ich9deblob (tested on beaglebone black).
- Flashrom: removed redundant Macronix flashchip definitions (for X200
owners).
@ -66,8 +66,8 @@ Changes for this release (latest changes first, earliest changes last)
- buildrom-withgrub: disabled creation of \*txtmode\*.rom for X200
(only framebuffer graphics work)
- Updated SeaBIOS (again)
- docs/install/\#flashrom\_x200: improve instructions
- Updated flashrom (again) - patches updated
- docs/install/\#flashprog\_x200: improve instructions
- Updated flashprog (again) - patches updated
- Updated GRUB (again)
- Updated coreboot (again)
- build-release: not all files were copied to libreboot\_src. fix
@ -87,7 +87,7 @@ Changes for this release (latest changes first, earliest changes last)
- cleandeps: clean i945-pwm utility
- scripts (all): fix typos
- Documentation: general cleanup.
- builddeps-flashrom: reduce build commands to a single for loop
- builddeps-flashprog: reduce build commands to a single for loop
- scripts (all): replace unnecessary rm -Rf with rm -f
- docs/release.html: add lenovo g505s to the list of candidates
- .gitignore: add libreboot\_bin.tar.xz and libreboot\_src.tar.xz
@ -98,7 +98,7 @@ Changes for this release (latest changes first, earliest changes last)
work now)
- Update SeaBIOS
- x60flashfrom5 (new), for X60 users upgrading from 5th/early release
- Update flashrom
- Update flashprog
- Update GRUB
- Updated coreboot-libre
- i945: permanently set tft\_brightness to 0xff (fixes bug on X60
@ -142,7 +142,7 @@ Changes for this release (latest changes first, earliest changes last)
RAM/storage/wifi) and have too many usability issues for the
libreboot project.
- docs/linux/grub\_cbfs.html Major cleanup. Usability improvements.
- flash (flashrom script): remove boardmismatch=force
- flash (flashprog script): remove boardmismatch=force
- This was put there before for users upgrading from libreboot r5
to r6, but also allows the user to flash the wrong image. For
example, the user could flash a T60 image on an X60, thus

View File

@ -53,9 +53,9 @@ Machines supported in this release:
Changes for this release, relative to r20150208 (earliest changes last, recent changes first)
---------------------------------------------------------------------------------------------
- Add a whitelist entry to board\_enable.c in flashrom, for the
- Add a whitelist entry to board\_enable.c in flashprog, for the
ThinkPad R400, T400 and T500
- Updated flashrom (to SVN revision 1889)
- Updated flashprog (to SVN revision 1889)
- X200 whitelist patch removed (merged upstream)
- X200 whitelist modified to include X200S and X200 Tablet
- libreboot\_util: don't include cmos layout files (not needed
@ -215,5 +215,5 @@ Changes for this release, relative to r20150208 (earliest changes last, recent c
- build-release: Separate ROM images into individual archives
- build-release: rename libreboot\_bin to libreboot\_util
- **New board:** ThinkPad R400 support added to libreboot.
- bbb\_setup.html: tell user to use libreboot's own flashrom
- bbb\_setup.html: tell user to use libreboot's own flashprog

View File

@ -40,7 +40,7 @@ Work done since the 20211122 release:
additional improvements made by Leah Rowe)
* GM45/ICH9M laptops: Disable PECI in coreboot, to work around a microcode bug
causing SpeedStep (and possibly other CPU features) to fail.
* Do not treat warnings as errors when building flashrom (fixes building on
* Do not treat warnings as errors when building flashprog (fixes building on
newer versions of GCC).
* Macbook2,1: 16MB configurations now available (you must first upgrade the
SPI flash)
@ -57,7 +57,7 @@ Work done since the 20211122 release:
* Scripts in lbmk: improved help output, courtesy of Denis 'GNUtoo' Carikli.
* scripts: process git versions when lbmk is a worktree or submodule. Courtesy
John Doe (cool guy)
* Updated to newer flashrom, in the build system
* Updated to newer flashprog, in the build system
* Perform silentoldconfig in seabios before full make. This fixes a race
condition when rebuilding SeaBIOS with a high CPU count, resulting in failure
with the error message (fix courtesy of John Doe):

View File

@ -357,7 +357,7 @@ would simply merge)
| * cba24e8 fix txtmode config for t440p
| * 55d6503 changed build system for new blobutil
| * 1462a3c move all blobs scripts to one directory
* | 84a9d53 update flashrom
* | 84a9d53 update flashprog
* | cda2d70 reset nvmutils to known good revision
* | 65b62c0 exit if can't download nvmutils
* | 12c9fd2 coreboot: set me_state=Disabled on all boards

View File

@ -179,7 +179,7 @@ follows:
* 59540530 - nuke p2b_ls/p3b_f boards (2 days ago) <Leah Rowe>
* ebd9ec96 - debian/ubuntu dependencies scripts: add gettext (3 days ago) <Leah Rowe>
* f9e20b8a - util/nvmutil: optimise rhex() further (13 days ago) <Leah Rowe>
* f04855c2 - fix flashrom download error (13 days ago) <Leah Rowe>
* f04855c2 - fix flashprog download error (13 days ago) <Leah Rowe>
* e2945f02 - payload/grub: force terminal_output to console (2 weeks ago) <Leah Rowe>
* 909d3b31 - grub.cfg: set default timeout to 5 seconds (2 weeks ago) <Leah Rowe>
* 544737c8 - scripts: build cbutils, not specific utils (2 weeks ago) <Leah Rowe>

View File

@ -137,7 +137,7 @@ In addition to coreboot firmware, the Libreboot build system (lbmk) can now
build *serprog* firmware, specifically `pico-serprog` and `stm32-vserprog`, on
all devices that these projects support.
The *serprog* protocol is supported by flashrom, to provide SPI flashing. It
The *serprog* protocol is supported by flashprog, to provide SPI flashing. It
can be used to set up an external SPI flasher, for [flashing Libreboot
externally](../docs/install/spi.md).
@ -572,12 +572,12 @@ The log is as follows, relative to Libreboot 20230625:
* c7e764a3 update/release: confirm vdir path on exit
* 1c8b2114 update/release: copy crossgcc to archive
* 54a05fc1 always re-generate .git in lbmk
* 52c9416b update flashrom revision
* af1c1e10 add backup git repo for flashrom
* 18364822 Revert "config/git: don't download flashrom"
* 52c9416b update flashprog revision
* af1c1e10 add backup git repo for flashprog
* 18364822 Revert "config/git: don't download flashprog"
* ac442808 config/git: add more backup repos
* 75980052 git/config: don't use github on main repos
* bf4ea810 config/git: don't download flashrom
* bf4ea810 config/git: don't download flashprog
* da3044e7 git/config stm32-vserprog: don't fetch libopencm3
* 782371a5 update/release: delete *all* .git and .gitmodules
* 743a425c include/git: fix already-exists download message

View File

@ -160,7 +160,7 @@ changes first):
courtesy of Leah Rowe.
* **NEW BOARD:** HP 8300 CMT mainboard, added by Riku Viitanen, who worked
on it with a tester in the IRC channel.
* Fixed implicit typecasting bug on flashrom 1.2 source code, thus preventing
* Fixed implicit typecasting bug on flashprog 1.2 source code, thus preventing
a build issue (tested on Debian 12.2). Patch courtesy of Leah Rowe.
* `script/build/roms`: Rename `check_target` to `configure_target`
and `prepare_target` to `configure_dependencies`, for increased code clarity.
@ -337,7 +337,7 @@ changes first):
script was making improper use of subshells, leading to a zero exit, when
it should have exited with non-zero status in such situations. Patch/fix
courtesy of Leah Rowe.
* Bumped flashrom revision back to version 1.2, because the 1.4 RC we were
* Bumped flashprog revision back to version 1.2, because the 1.4 RC we were
importing has issues (also, Nico Huber's flashprog will probably be used
in future releases of Libreboot). Patch courtesy of Leah Rowe.
* Debian dependencies config: Fixed the freetype dependency, as tested on
@ -450,7 +450,7 @@ Exact git log, relative to 20231106:
| * 74147ea4 Add HP 8300 CMT port
|/
* 0aca6332 lbmk scripts: shorter code lines
* 575332f2 fix flashrom build error (implicit enum typecast)
* 575332f2 fix flashprog build error (implicit enum typecast)
* b4ab3057 lbmk scripts: general code cleanup
* 38a7aa31 build/roms: rename two functions for clarity
* 746d9cad build: remove test command
@ -554,7 +554,7 @@ Exact git log, relative to 20231106:
|\
| * 50bfe1ca fix void dependencies typo
|/
* 4e00ac00 revert flashrom back to version 1.2
* 4e00ac00 revert flashprog back to version 1.2
* 83c8248f dependencies/debian: fix libfreetype-dev
* 39aad578 grub: re-add fat/nt file system modules
* 47ef411e Bump GRUB revision to 8 November 2023 revision

View File

@ -2,6 +2,9 @@
% Leah Rowe
% 7 July 2023
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
Introduction
============
@ -115,7 +118,7 @@ do not have to disassemble the machine, but *two* flashes would be needed:
Under this configuration, we would still have the reality where some people
don't read documentation, but if they don't read documentation, they will
then just run flashrom on ROM images as-is, and it won't work. This will cause
then just run flashprog on ROM images as-is, and it won't work. This will cause
one of three possible scenarios:
* They don't bother updating, and therefore avoid bricking their machine

View File

@ -3,6 +3,9 @@ title: Jobs that need doing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
This page contains a curated list of tasks that are to be worked on, or tasks
that are being worked on. This is intended to complement
the [issue pages](https://codeberg.org/libreboot/lbmk/issues/).
@ -1659,7 +1662,7 @@ example:
But oh, what's this? We already know that the trees script can handle multiple
projects. For instance:
./update trees -z flashrom pico-serprog grub seabios
./update trees -z flashprog pico-serprog grub seabios
Then it would output for all of those. It just goes in a loop.