don't document flashrom. use flashprog instead.
Signed-off-by: Leah Rowe <info@minifree.org>master
parent
de2ddf6d51
commit
4542dbad5e
|
@ -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
|
||||
|
|
|
@ -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, яка є корисною для
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 固件有一些好处,例如电池管理更加好。
|
||||
|
|
|
@ -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}
|
||||
===========
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
------------------------------
|
||||
|
||||
|
|
|
@ -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}
|
||||
=====================
|
||||
|
|
|
@ -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`.
|
||||
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
------------------------------------
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
===========
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 Black(BBB)
|
||||
----------------------
|
||||
|
||||
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 Pi(RPi)
|
||||
-----------------
|
||||
|
||||
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 的速度。你也许还得多次重复刷写,才能完全工作。
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
===========
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
@ -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}
|
||||
===========
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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Мбайт.
|
||||
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -202,4 +202,4 @@ Libreboot включає статично зв'язані виконувані
|
|||
випуски натомість автоматизують встановлення залежностей побудови, з інструкцієї
|
||||
в документації для побудови різних утиліт з джерельного коду.
|
||||
|
||||
Ці виконувані файли є утилітами, подібними `flashrom`.
|
||||
Ці виконувані файли є утилітами, подібними `flashprog`.
|
||||
|
|
15
site/faq.md
15
site/faq.md
|
@ -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.
|
||||
|
||||
|
|
|
@ -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 зможе працювати із образом як зазвичай.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue