Compare commits
17 Commits
96391759be
...
ec6898ff7d
Author | SHA1 | Date |
---|---|---|
Leah Rowe | ec6898ff7d | |
Leah Rowe | 99a41ea67c | |
Leah Rowe | f98c753314 | |
Leah Rowe | fefa64b8f4 | |
Leah Rowe | e02400985d | |
Leah Rowe | a14f320562 | |
Leah Rowe | 5dcba77fbe | |
Leah Rowe | 7581133bfb | |
Lorenzo Aloe | 888122eebf | |
Leah Rowe | 2f535252b0 | |
Leah Rowe | c125175615 | |
Leah Rowe | 4ebb707a33 | |
Leah Rowe | e6ff72dde5 | |
Leah Rowe | 0b67fffe85 | |
Leah Rowe | 82e8259203 | |
Leah Rowe | 9e2b14552b | |
Leah Rowe | ba24673924 |
|
@ -66,7 +66,7 @@ a handful of mainboards from coreboot, and sometimes
|
|||
several [mitigations](https://browse.libreboot.org/lbmk.git/plain/resources/coreboot/default/patches/0012-fix-speedstep-on-x200-t400-Revert-cpu-intel-model_10.patch?id=9938fa14b1bf54db37c0c18bdfec051cae41448e)
|
||||
may be required to stabilise certain functionalities under these conditions.
|
||||
|
||||
The project called *[GNU Boot](https://libreboot.org/news/gnuboot.html)* launched
|
||||
The project called *GNU Boot* launched
|
||||
during June 2023, in opposition to Libreboot's new policy as of November 2022;
|
||||
however, GNU Boot's base Libreboot revision was from around the time of the
|
||||
Libreboot 20220710 release, so their base was roughly 1 year out of date
|
||||
|
@ -89,7 +89,7 @@ lost; they renamed their project to GNU Boot, starting from June 2023.
|
|||
Canoeboot was originally designated as *GNU Boot* unofficially, launching in
|
||||
the month of July 2023 as a proof of concept based
|
||||
upon [Libreboot 20230625](https://libreboot.org/news/libreboot20230625.html) to
|
||||
help the [real GNU Boot](https://libreboot.org/news/gnuboot.html) get up to date
|
||||
help the real GNU Boot get up to date
|
||||
versus Libreboot. GNU Boot's June 2023 revision was nearly 1 year behind on
|
||||
Libreboot. The unofficial GNU Boot was renamed and re-branded to nonGeNUine Boot
|
||||
on [21 July 2023](../news/nongenuineboot20230717.html#update-21-july-2023) when
|
||||
|
|
|
@ -25,6 +25,14 @@ canoeboot from the available source code.
|
|||
The following document describes how `cbmk` works, and how you can make changes
|
||||
to it: [canoeboot maintenance manual](../maintain/)
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
Please read about environmental variables in [the build
|
||||
instructions](../maintain/), before running lbmk. You should set
|
||||
your variables accordingly, though you do not technically need to; some
|
||||
of them may be useful, e.g. `CBMK_THREADS` (sets the number of build threads).
|
||||
|
||||
Sources
|
||||
=======
|
||||
|
||||
|
@ -92,6 +100,13 @@ Actual development/testing is always done using cbmk directly, and this
|
|||
includes when building from source. Here are some instructions to get you
|
||||
started:
|
||||
|
||||
Zero..st, check time/date
|
||||
-------------------------
|
||||
|
||||
Make sure date/hwclock report the correct time and date on your system,
|
||||
because parts of the build process download from HTTPS servers and wrong
|
||||
time or date can cause connections to be dropped during negotiation.
|
||||
|
||||
First, install build dependencies
|
||||
---------------------------------
|
||||
|
||||
|
@ -173,3 +188,15 @@ example want to modify a config, e.g.:
|
|||
|
||||
Or perhaps add a new board! The maintenance manual will teach you how the
|
||||
Canoeboot build system (cbmk) works!
|
||||
|
||||
Post-compilation steps
|
||||
======================
|
||||
|
||||
So you compiled your Canoeboot 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 flashprog.
|
||||
|
||||
NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.
|
||||
|
|
|
@ -17,6 +17,14 @@ images (containing payloads) in `bin/`. This design is more efficient, and
|
|||
permits many configurations without needless duplication of work. More info
|
||||
is available in the [cbmk maintenance manual](../maintain/)**
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
Please read about environmental variables in [the build
|
||||
instructions](../maintain/), before running cbmk. You should set
|
||||
your variables accordingly, though you do not technically need to; some
|
||||
of them may be useful, e.g. `CBMK_THREADS` (sets the number of build threads).
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -61,6 +69,13 @@ Python
|
|||
Python2 не використовується cbmk або будь-чим, що завантажується в якості модулів. Ви
|
||||
маєте переконатись, що команда `python` виконує python 3 на вашій системі.
|
||||
|
||||
Zero..st, check time/date
|
||||
-------------------------
|
||||
|
||||
Make sure date/hwclock report the correct time and date on your system,
|
||||
because parts of the build process download from HTTPS servers and wrong
|
||||
time or date can cause connections to be dropped during negotiation.
|
||||
|
||||
Побудова з джерельного коду
|
||||
============================
|
||||
|
||||
|
|
|
@ -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 3 May 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
|
||||
=============================
|
||||
|
||||
Canoeboot 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*, Canoeboot inherits this technology.
|
||||
|
||||
You will also want to build `flashrom` which Canoeboot recommends for reading
|
||||
from and/or writing to the boot flash. In the Canoeboot build system, you can
|
||||
You will also want to build `flashprog` which canoeboot recommends for reading
|
||||
from and/or writing to the boot flash. In the canoeboot 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* Canoeboot ROM, which was installed on
|
||||
your computer, you can use `flashrom` to acquire it.
|
||||
If you wish to modify your *existing* canoeboot ROM, which was installed on
|
||||
your computer, you can use `flashprog` to acquire it.
|
||||
|
||||
Simply run the following, after using Canoeboot's build system to compile
|
||||
flashrom:
|
||||
Simply run the following, after using canoeboot's build system to compile
|
||||
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
|
||||
|
@ -169,17 +172,17 @@ Flash the modified ROM image
|
|||
Your modified `dump.bin` or other modified Canoeboot 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.
|
||||
|
|
|
@ -52,6 +52,13 @@ executed from Canoeboot's SeaBIOS payload.
|
|||
Encrypted /boot via LUKS2 with argon2
|
||||
=======================================
|
||||
|
||||
**WARNING: The Canoeboot 0.1 release only supports LUKS1 with PBKDF2. It's
|
||||
a special release that uses much older GRUB. The November 2023 releases of
|
||||
Canoeboot contain LUKS2 support. If you're using LUKS encryption, please
|
||||
use Canoeboot from November 2023 - or use a release after 0.1. The reason why
|
||||
Canoeboot 0.1 has this issue will be clear if you read the Canoeboot 0.1
|
||||
release announcement. Canoeboot 0.1 is not intended for production use.**
|
||||
|
||||
Full encryption for basic LUKS2 (with PBKDF or argon2 key derivation) is
|
||||
supported in Canoeboot. Legacy LUKS1 is also supported. On *most* other
|
||||
systems, `/boot` must be unencrypted, but Canoeboot supports use of the
|
||||
|
|
|
@ -3,6 +3,12 @@ title: Dell Latitude E6400
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but otherwise the machine will be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
<img tabindex=1 alt="Dell Latitude E6400" class="p" src="https://av.canoeboot.org/e6400/e6400-seabios.jpg" /><span class="f"><img src="https://av.canoeboot.org/e6400/e6400-seabios.jpg" /></span> <img tabindex=1 alt="Dell Latitude E6400 XFR" class="p" style="max-width:24em" src="https://av.canoeboot.org/e6400/e6400xfr-seabios.jpg" /><span class="f"><img src="https://av.canoeboot.org/e6400/e6400xfr-seabios.jpg" /></span>
|
||||
|
|
|
@ -76,9 +76,12 @@ Canoeboot, 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 3 May 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 Canoeboot is unknown. Canoeboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
|
|
@ -64,9 +64,12 @@ x-toc-enable: true
|
|||
|
||||
建议更新到最新 EC 固件版本。[EC 固件](../../faq.md#ec-embedded-controller-firmware) 与 canoeboot 是独立的,所以我们实际上并不会提供这些固件,但如果你仍还有 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: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
注意:只有在运行 Lenovo BIOS 的时候,你才能这样做。如何在运行 canoeboot 的时候更新 EC 固件尚不清楚。canoeboot 只会替换 BIOS 固件,而不会替换 EC。
|
||||
|
||||
更新的 EC 固件有一些好处,例如电池管理更加好。
|
||||
|
|
|
@ -3,6 +3,8 @@ title: ASUS KCMA-D8 desktop/workstation board
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
TODO: this page is OLD. check that the info is still valid.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -149,7 +151,7 @@ Current issues {#issues}
|
|||
|
||||
- Opteron 4100 series CPUs are currently incompatible
|
||||
- LRDIMM memory modules are currently incompatible
|
||||
(use UDIMMs please)
|
||||
(use UDIMMs please) - NOTE: might actually work nowadays.
|
||||
- Memory initialization is still problematic for some modules. We
|
||||
recommend avoiding Kingston and Super Talent modules for this reason.
|
||||
|
||||
|
@ -157,11 +159,6 @@ The coreboot wiki has some information about RAM compatibility. The wiki is
|
|||
deprecated but the info on it is still correct for this board. Some other
|
||||
considerations:
|
||||
|
||||
- Booting from USB mass storage devices is currently broken under GRUB.
|
||||
Consequently, the textmode ROM with SeaBIOS is recommended otherwise
|
||||
in order to install an operating system you will need a hard disk with
|
||||
a pre-installed OS or will have to plug in another HDD or CD/DVD
|
||||
reader in order to boot OS installation media.
|
||||
- SeaBIOS lacked serial console support out-of-the-box in Libreboot 20160907
|
||||
and as such a workaround using SGABIOS is necessary. You can find
|
||||
instructions on how to do this on the
|
||||
|
|
|
@ -50,7 +50,10 @@ This is a server board using AMD hardware (Fam10h). It can also be used
|
|||
for building a high-powered workstation. Powered by Canoeboot.
|
||||
|
||||
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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
Form factor {#formfactor}
|
||||
===========
|
||||
|
|
|
@ -3,6 +3,8 @@ title: ASUS KGPE-D16 server/workstation board
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
TODO: OLD page. TODO: check that all the info is still valid.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -17,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 Canoeboot, by default it is
|
||||
possible to re-flash using software running in GNU+Linux on the
|
||||
|
@ -79,6 +81,7 @@ Current issues {#issues}
|
|||
==============
|
||||
|
||||
- LRDIMM memory modules are currently incompatible
|
||||
(IT MAY WORK NOWADAYS, TODO TEST)
|
||||
- SAS (via PIKE 2008 module) requires non-free option ROM (and
|
||||
SeaBIOS) to boot from it (theoretically possible to replace, but you
|
||||
can put a kernel in CBFS or on SATA and boot from that, which
|
||||
|
|
|
@ -83,7 +83,7 @@ For the MacBook2,1:
|
|||
working)*
|
||||
* MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested -
|
||||
working)*
|
||||
* MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 (untested)
|
||||
* MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 *(tested -
|
||||
* MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested -
|
||||
working)*
|
||||
* MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 *(tested - working)*
|
||||
|
@ -101,7 +101,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 3 May 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.
|
||||
|
|
|
@ -75,7 +75,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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -86,7 +89,7 @@ Canoeboot, 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
|
||||
|
|
|
@ -74,7 +74,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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -85,7 +88,7 @@ Canoeboot, 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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -87,7 +90,7 @@ Canoeboot, 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
|
||||
|
|
|
@ -74,7 +74,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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -85,7 +88,7 @@ Canoeboot, 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)
|
||||
|
|
|
@ -67,7 +67,10 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
|
|||
(містить примітки та інструкції)
|
||||
|
||||
Інструкції з перепрошивки можна знайти за адресою
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
[../install/\#flashprog](../install/#flashprog)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
Оновлення EC {#ecupdate}
|
||||
=========
|
||||
|
@ -78,7 +81,7 @@ Canoeboot, тому ми її фактично не надаємо, але як
|
|||
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)
|
||||
|
|
|
@ -23,6 +23,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 3 May 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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
Flashing instructions {#clip}
|
||||
=====================
|
||||
|
|
|
@ -29,7 +29,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.
|
||||
|
@ -75,19 +75,22 @@ 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. Canoeboot's build
|
||||
now. The `flashprog` software is available on BSD systems. Canoeboot's build
|
||||
system has *itself* not yet been ported to the BSDs, but you can use the
|
||||
flash unlock utility.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 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.
|
||||
|
||||
Flashing from GNU+Linux
|
||||
-------------------
|
||||
|
||||
MAKE SURE you boot with this GNU+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`.
|
||||
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
|
||||
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 Canoeboot directly from the vendor (Dell) BIOS, without taking
|
||||
the machine apart. It can be done entirely from GNU+Linux. It will probably also
|
||||
|
@ -123,18 +126,18 @@ Protected Range registers.
|
|||
|
||||
When you flash it, you can use this command:
|
||||
|
||||
flashrom -p internal -w canoeboot.rom
|
||||
flashprog -p internal -w canoeboot.rom
|
||||
|
||||
Where `canoeboot.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 canoeboot.rom -c MX25L3205D/MX25L3208D
|
||||
flashprog -p internal -w canoeboot.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
|
||||
Canoeboot project via IRC](../../contact.md).
|
||||
|
||||
|
@ -144,7 +147,7 @@ BACK UP THE FACTORY BIOS
|
|||
The `-w` option flashes `canoeboot.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`.
|
||||
|
||||
|
|
|
@ -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 @@ GNU+Linux. There are 2 flash chips (one is backup).
|
|||
|
||||
Flash the first chip:
|
||||
|
||||
./flashrom -p internal:dualbiosindex=0 -w canoeboot.rom
|
||||
./flashprog -p internal:dualbiosindex=0 -w canoeboot.rom
|
||||
|
||||
Flash the second chip:
|
||||
|
||||
./flashrom -p internal:dualbiosindex=1 -w canoeboot.rom
|
||||
./flashprog -p internal:dualbiosindex=1 -w canoeboot.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 3 May 2024, which is a fork of flashrom.
|
||||
|
|
|
@ -123,8 +123,8 @@ 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
|
||||
that machine. This is the default setup used when Canoeboot's build system
|
||||
re-flash using `flashprog -p internal` in your operating system running on
|
||||
that machine. This is the default setup used when canoeboot's build system
|
||||
compiles ROM images.
|
||||
|
||||
Alternative versions of these files are also created, which have `ro` in the
|
||||
|
@ -181,7 +181,7 @@ a Broadcom NIC for ethernet. In descriptorless mode, ICH9M works very similarly
|
|||
to older ICH7 chipsets.
|
||||
|
||||
Your canoeboot.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,13 +3,58 @@ title: Installation instructions
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
This section relates to installing Canoeboot on supported targets.
|
||||
**NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.**
|
||||
|
||||
NOTE: if running `flashrom -p internal` for software based flashing, and you
|
||||
This section relates to installing canoeboot on supported targets.
|
||||
|
||||
FLASH ERRORS (and workarounds)
|
||||
+=======================
|
||||
|
||||
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 `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
|
||||
is `kernel.securelevel=-1`; see [NetBSD securelevel
|
||||
manual](https://wiki.netbsd.org/tutorials/kernel_secure_levels/)
|
||||
and [OpenBSD securelevel manual](https://man.openbsd.org/securelevel).
|
||||
|
||||
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 `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/>
|
||||
|
||||
Yeah, just enable `CONFIG_X86_IOPL_IOPERM` in your Linux kernel. This is
|
||||
a *build-time* option, so you must re-compile your kernel, or find a build that
|
||||
has this option enabled (IOPL emulation). Many default kernel configurations
|
||||
now disable this option.
|
||||
|
||||
Here's a handy-dandy guide for building a kernel from source:
|
||||
<https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html>
|
||||
|
||||
**BSD users:** On OpenBSD and NetBSD if you get similar errors, note that it
|
||||
should work here, but you need to boot with `kern.securelevel=-1`.
|
||||
See: [NetBSD securelevel manual](https://wiki.netbsd.org/tutorials/kernel_secure_levels/)
|
||||
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 flashprog as root, at least to use the internal flasher (using external
|
||||
USB flashing dongles doesn't normally require root).
|
||||
|
||||
PRECAUTIONS
|
||||
===========
|
||||
|
||||
|
@ -130,7 +175,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,
|
||||
|
@ -141,11 +186,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 Canoeboot project, and flash it.
|
||||
Boot a GNU+Linux distribution on the target device, and install flashrom.
|
||||
You can simply take any ROM image from the canoeboot project, and flash it.
|
||||
Boot a GNU+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*.
|
||||
|
@ -154,7 +199,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.
|
||||
|
||||
|
@ -162,14 +207,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 canoeboot.rom
|
||||
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w canoeboot.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
|
||||
|
@ -178,13 +223,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
|
||||
|
@ -265,6 +310,13 @@ example of the push pin as a proof of concept:
|
|||
|
||||
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashrom_lenovobios}
|
||||
|
||||
**NOTE: the section below pertaining to Libreboot 20160907 static binaries references
|
||||
flashrom. Canoeboot recommends flashprog nowadays, but if you're using that
|
||||
utils archive, please note that it is from a time when Canoeboot used
|
||||
flashrom. Use flashrom there as that's what included in those binaries.
|
||||
Canoeboot does not currently document how to patch flashprog for sst/macronix
|
||||
on X60/T60, when going (in software) from lenovobios to canoeboot.**
|
||||
|
||||
NOTE: If BIOS password auth is enabled, you can clear it by shorting pins on
|
||||
an EEPROM and then resetting the password in Lenovo BIOS, prior to flashing
|
||||
Canoeboot. For T60, see:
|
||||
|
@ -274,8 +326,10 @@ Canoeboot. For T60, see:
|
|||
X60 BIOS password (Lenovo): you might find info here:
|
||||
<https://bios-pw.org/>
|
||||
|
||||
Download bucts here:
|
||||
<https://notabug.org/libreboot/bucts>
|
||||
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
|
||||
has statically compiled executables. They still work just fine on modern
|
||||
systems, and they can be used for this purpose.
|
||||
|
||||
Here are a list of targets:
|
||||
|
||||
|
@ -288,11 +342,11 @@ Here are a list of targets:
|
|||
and you will run it at 115200 baud rate. agetty/fgetty in GNU+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 Canoeboot, using flashrom running on the host
|
||||
You can replace Lenovo BIOS with Canoeboot, using flashprog running on the host
|
||||
CPU. However, there are some considerations.
|
||||
|
||||
Firstly, make sure that the yellow CMOS battery is installed, and functioning
|
||||
|
@ -304,7 +358,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*.
|
||||
|
@ -318,12 +372,12 @@ program referenced below.
|
|||
The Canoeboot 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 Canoeboot build system, there will be three
|
||||
If you build flashprog using the Canoeboot 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).
|
||||
|
@ -335,19 +389,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:
|
||||
|
||||
|
@ -375,17 +429,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.
|
||||
|
@ -393,16 +447,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 canoeboot.rom
|
||||
sudo ./flashprog -p internal -w canoeboot.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
|
||||
|
@ -443,13 +497,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: Apple Macbook2,1, Macbook1,1 and iMac5,2 (i945 platform)
|
||||
----------------------------------------------------------------
|
||||
|
|
|
@ -110,23 +110,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 3 May 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
|
||||
|
@ -142,7 +145,7 @@ project has a handy guide for this; it can be used for reading
|
|||
from and writing to the chip. See: [spi.md](spi.md)
|
||||
|
||||
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.
|
||||
|
||||
|
@ -198,18 +201,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 3 May 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: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
This guide will teach you how to use various tools for externally reprogramming
|
||||
a 25xx NOR flash via SPI protocol. This is the most common type of flash IC for
|
||||
computers that coreboot runs on. Almost every system currently supported by
|
||||
|
@ -11,7 +14,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.
|
||||
|
||||
Canoeboot currently documents how to use these SPI programmers:
|
||||
|
@ -33,7 +36,7 @@ Canoeboot 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 GNU+Linux, with flashrom.
|
||||
from GNU+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.
|
||||
|
@ -86,6 +89,9 @@ pre-compiled in Canoeboot 20231026 and newer releases.
|
|||
Disconnect the Pico and proceed to wire it to your
|
||||
[flash chip](/docs/install/spi.html#identify-which-flash-type-you-have).
|
||||
|
||||
**NOTE: SCK and CLK mean the same thing. The diagram below says SCK, and other
|
||||
parts of this guide say CLK. It's the same thing!**
|
||||
|
||||
![Raspberry Pi Pico pinout, when using the firmware linked
|
||||
above](https://av.canoeboot.org/rpi_pico/pinout_serprog.png)
|
||||
|
||||
|
@ -105,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.
|
||||
|
@ -206,8 +212,8 @@ SOIC16
|
|||
|
||||
| Pin | Function |
|
||||
|-----|----------|
|
||||
| 1 | HOLD |
|
||||
| 2 | VCC |
|
||||
| 3 | HOLD |
|
||||
| 7 | CS |
|
||||
| 8 | MISO |
|
||||
| 9 | WP |
|
||||
|
@ -264,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)
|
||||
|
@ -305,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.
|
||||
|
@ -317,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
|
||||
|
@ -336,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 GNU+Linux kernel; technically, the driver name is `spi-bcm2835`.
|
||||
|
@ -444,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.
|
||||
|
@ -453,7 +459,7 @@ Flashrom is the software that you will use, for dumping, erasing and rewriting
|
|||
the contents of your NOR flash.
|
||||
|
||||
In the Canoeboot build system, from the Git repository, you can download and
|
||||
install flashrom. Do this after downloading the
|
||||
install flashprog. Do this after downloading the
|
||||
[cbmk Git repository](../../git.md):
|
||||
|
||||
cd cbmk
|
||||
|
@ -462,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
|
||||
|
@ -470,30 +476,28 @@ 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. *Another*, newer
|
||||
version of this is available, with the same workaround patch, but based on
|
||||
flashrom 1.3: <https://codeberg.org/Riku_V/whackrom>
|
||||
argument in flashprog. This mitigates stability issues.
|
||||
|
||||
If you downloaded the flashrom source code directly, you can go into the
|
||||
directory and simply type `make`. In the Canoeboot build system, build
|
||||
If you downloaded the flashprog source code directly, you can go into the
|
||||
directory and simply type `make`. In the canoeboot build system, build
|
||||
dependencies are documented in configuration files located
|
||||
at `config/dependencies/` which you can install.
|
||||
|
||||
How to use flashrom
|
||||
How to use flashprog
|
||||
===================
|
||||
|
||||
Read past these sections, further down this page, to learn about specific chip
|
||||
|
@ -508,11 +512,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
|
||||
|
@ -530,11 +534,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:
|
||||
|
||||
|
@ -551,11 +555,11 @@ Writing
|
|||
|
||||
Next, run this command (RPi):
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/canoeboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/canoeboot.rom
|
||||
|
||||
If using BBB:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/canoeboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/canoeboot.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.
|
||||
|
@ -918,6 +922,9 @@ Your DIP8 IC has the same pinout as a SOIC8 IC.
|
|||
Replace WSON8 IC with SOIC8
|
||||
---------------------------
|
||||
|
||||
**NOTE: You can alternatively purchase WSON8 probes from a site like Aliexpress.
|
||||
They look similar to SOIC8 clips, and they work similarly.**
|
||||
|
||||
You *can* connect a SOIC8 test clip, but you will struggle to get good
|
||||
connections and it will be extremely unreliable. DO NOT solder to the pads of
|
||||
the WSON8 directly; some people do this, but you shouldn't do it, because you
|
||||
|
|
|
@ -5,7 +5,7 @@ x-toc-enable: true
|
|||
|
||||
本指南将教你怎样使用各种工具,通过 SPI 协议对 25xx NOR flash 进行外部再编程。这是 coreboot 所支持的计算机中,最常见的 flash IC 类型。目前 canoeboot 支持的每个系统,基本都使用这种类型的引导 flash;唯一的例外就是 ASUS KFSN4-DRE,它在 PLCC32 芯片座中使用了 LPC flash,你可以在供应商固件启动后,对其进行热切换,然后再内部刷入。十分简单!
|
||||
|
||||
我们会用到 [flashrom](https://flashrom.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
|
||||
我们会用到 [flashprog](https://flashprog.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
|
||||
|
||||
canoeboot 目前记录了这些 SPI 编程器的使用方法:
|
||||
|
||||
|
@ -18,7 +18,7 @@ canoeboot 目前记录了这些 SPI 编程器的使用方法:
|
|||
|
||||
大部分支持 canoeboot 机器,都需要在第一次刷写的时候,借助这里的教程或是类似教程,对其进行外部再刷写。不过,目前支持的所有机器,你都可以在 canoeboot 运行时,对其进行内部再刷写。
|
||||
|
||||
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashrom 做到。
|
||||
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashprog 做到。
|
||||
|
||||
你在读的*这个*教程,使用的是*外部*编程器。之所以叫*外部*,是因为用的不是主板上的*内部*编程器。
|
||||
|
||||
|
@ -83,7 +83,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.
|
||||
|
@ -171,7 +171,7 @@ DIP8
|
|||
BeagleBone Black(BBB)
|
||||
----------------------
|
||||
|
||||
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashrom`。
|
||||
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashprog`。
|
||||
|
||||
注意:该部分已过时,因为它是写给 BBB 上运行的 Debian 9 的。
|
||||
|
||||
|
@ -210,9 +210,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 会十分不稳定。
|
||||
|
||||
|
@ -221,7 +221,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 芯片,所以出错是正常的)。
|
||||
|
@ -236,7 +236,7 @@ BBB 注意事项
|
|||
Rasberry Pi(RPi)
|
||||
-----------------
|
||||
|
||||
SSH 连接到树莓派。你将在树莓派上运行 `flashrom`。
|
||||
SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。
|
||||
|
||||
你必须在树莓派上配置 `spidev`。这是 Linux 内核的一个特别驱动;它严谨的名字叫做 `spi-bcm2835`。
|
||||
|
||||
|
@ -254,7 +254,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 芯片的引脚处的电压可能会低于最低电压,导致它被视为发送了低逻辑电平,而不是高逻辑电平。
|
||||
|
||||
|
@ -307,33 +307,33 @@ RPi 的自由固件
|
|||
|
||||
<https://librerpi.github.io/>
|
||||
|
||||
安装 flashrom
|
||||
安装 flashprog
|
||||
----------------
|
||||
|
||||
如果你在使用 BBB 或者 RPi,你需要在 SSH 进去之后再这么做。
|
||||
|
||||
Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
||||
|
||||
使用 Git 仓库中的 canoeboot 构建系统,你可以下载并安装 flashrom。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
|
||||
使用 Git 仓库中的 canoeboot 构建系统,你可以下载并安装 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`。在 canoeboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
|
||||
如果你直接下载了 flashprog 源代码,你可以进入目录并直接运行 `make`。在 canoeboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
|
||||
|
||||
如何使用 flashrom
|
||||
如何使用 flashprog
|
||||
===================
|
||||
|
||||
请先阅读本页更下方的部分,了解特定的芯片类型及其接线方法。
|
||||
|
@ -345,11 +345,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 是否一致,然后再刷。你可能需要多次刷写芯片!
|
||||
|
||||
|
@ -359,11 +359,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:
|
||||
|
||||
|
@ -384,11 +384,11 @@ BBB 的话,这样:
|
|||
|
||||
接下来,运行这个命令(RPi):
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/canoeboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/canoeboot.rom
|
||||
|
||||
如果用的是 BBB:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/canoeboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/canoeboot.rom
|
||||
|
||||
用 BBB 的时候,可能得使用低于 512 的速度。你也许还得多次重复刷写,才能完全工作。
|
||||
|
||||
|
@ -617,6 +617,9 @@ DIP8 IC 的引脚分配和 SOIC8 IC 一样。
|
|||
使用 SOIC8 替换 WSON8 IC
|
||||
---------------------------
|
||||
|
||||
**NOTE: You can alternatively purchase WSON8 probes from a site like Aliexpress.
|
||||
They look similar to SOIC8 clips, and they work similarly.**
|
||||
|
||||
你*连是可以连* SOIC8 测试夹,但要连接效果好,需要费点功夫,而且这也十分不可靠。不要直接焊接 WSON8 的焊盘;有些人会这样做,但你不要这样做,因为你这样很容易就会损坏焊盘。
|
||||
|
||||
WSON8 的引脚分配和 SOIC8 一样,但它是球状 QFN(四边扁平无引脚封装)。它没有合适的夹子,有时候称为 QFN8。
|
||||
|
|
|
@ -3,7 +3,10 @@ title: Generic SPI Flashing Guide
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
There are a plethora of single board computers with which you can flash Canoeboot to a SOIC chip.
|
||||
NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
There are a plethora of single board computers with which you can flash canoeboot to a SOIC chip.
|
||||
Some users might be daunted by the price of a raspberry pi.
|
||||
This guide is intended to help users looking to use a programmer which is not listed in the [main guide.](spi.md)
|
||||
As an example, this guide will use the [libre computer 'le potato.'](https://libre.computer/products/aml-s905x-cc/)
|
||||
|
@ -77,25 +80,25 @@ sudo ldto enable spicc spicc-spidev
|
|||
sudo ldto merge spicc spicc-spidev
|
||||
```
|
||||
|
||||
Using Flashrom
|
||||
Using Flashprog
|
||||
==============
|
||||
|
||||
Most linux distros will provide flashrom in their default repositories.
|
||||
Some linux distros will provide flashprog in their default repositories.
|
||||
|
||||
```
|
||||
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/canoeboot.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/canoeboot.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 3 May 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 T500 external flashing
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
**If you haven't bought a T500 yet: the [Dell Latitude
|
||||
E6400](e6400.md) is much easier to flash; no disassembly required,
|
||||
it can be flashed entirely in software from Dell BIOS to Canoeboot. 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 3 May 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 canoeboot.rom -V
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w canoeboot.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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
**If you haven't bought an X200 yet: the [Dell Latitude
|
||||
E6400](e6400.md) is much easier to flash; no disassembly required,
|
||||
it can be flashed entirely in software from Dell BIOS to Canoeboot. 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.canoeboot.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 GNU+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 Canoeboot 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 3 May 2024, which is a fork of flashrom.
|
||||
|
||||
**If you haven't bought an X200 yet: the [Dell Latitude
|
||||
E6400](e6400.md) is much easier to flash; no disassembly required,
|
||||
it can be flashed entirely in software from Dell BIOS to Canoeboot. 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.canoeboot.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), а потім відтворивши її дії за допомогою якогось інструменту для GNU+Linux,
|
||||
а потім завантаживши двійковий файл flashrom в пам'ять та ROM для прошивки (для BIOS
|
||||
а потім завантаживши двійковий файл flashprog в пам'ять та ROM для прошивки (для BIOS
|
||||
регіона). Ви б зробили це з заземленням GPIO33, і програма корисного навантаження
|
||||
фактично прошиє весь чіп, лише звичайним образом Canoeboot.
|
||||
|
||||
|
|
|
@ -3,7 +3,11 @@ title: cbmk maintenance manual
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
In addition to this manual, you should also refer to [testing.md](testing.md).
|
||||
NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 3 May 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).
|
||||
|
||||
Please also read about the [cbmk coding style and design](style.md). This
|
||||
document, and the cbmk build system, is a direct fork of *lbmk*, which is the
|
||||
|
@ -56,6 +60,40 @@ build system itself, to make your own private modifications or even release
|
|||
your own coreboot distro (based upon Canoeboot - and you have this freedom
|
||||
with Libreboot too). Many choices are available!
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
LBMK\_THREADS
|
||||
-------------
|
||||
|
||||
For example:
|
||||
|
||||
export LBMK_THREADS=2
|
||||
|
||||
This would build on two threads, when running cbmk. It defaults to 1.
|
||||
|
||||
Previous revisions of cbmk used `nproc` by default, but this was set to 1
|
||||
instead, because nproc is not available on every operating system.
|
||||
|
||||
LBMK\_STATUS
|
||||
------------
|
||||
|
||||
By default, the user is asked to confirm when building for a given mainboard,
|
||||
if that mainboard is not marked *stable* in `target.cfg`. To disable such
|
||||
dialogs, do this:
|
||||
|
||||
export LBMK_STATUS=n
|
||||
|
||||
LBMK\_RELEASE
|
||||
-------------
|
||||
|
||||
If set to `y`, it signals to `script/build/roms` that a release is being built,
|
||||
and it will honour `release="n"` in target.cfg files. You could also set this
|
||||
yourself, when doing regular builds, if you wanted to test how `./build roms`
|
||||
behaves running it in release mode. Do this if you want to:
|
||||
|
||||
export LBMK_RELEASE=y
|
||||
|
||||
Best practises for learning cbmk
|
||||
================================
|
||||
|
||||
|
@ -193,13 +231,13 @@ 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 Canoeboot.
|
||||
|
||||
src/flashrom/
|
||||
src/flashprog/
|
||||
---------------
|
||||
|
||||
Please also visit: <https://flashrom.org/>
|
||||
Please also visit: <https://flashprog.org/>
|
||||
|
||||
Although currently unused by any part of cbmk, we provide flashrom for the
|
||||
convenience of users, and this is copied to release archives. Flashrom is the
|
||||
Although currently unused by any part of cbmk, we provide flashprog for the
|
||||
convenience of users, and this is copied to release archives. Flashprog is the
|
||||
program that you will use to read, erase and write the flash, containing
|
||||
coreboot firmware.
|
||||
|
||||
|
@ -1098,17 +1136,6 @@ When the ROM is finished compiling, it will appear under a directory in `bin/`
|
|||
This script is the beating heart of Canoeboot. Break it, and you break
|
||||
Canoeboot!
|
||||
|
||||
### script/build/grub
|
||||
|
||||
This builds the `grub.elf` file and keymap configuration files, placing these
|
||||
under `elf/grub/` for use by `script/build/roms`.
|
||||
|
||||
Command: `./build grub`
|
||||
|
||||
This builds the `grub-mkstandalone` utility under `src/grub/`, which is used
|
||||
by `script/build/roms` to insert GRUB payloads inside coreboot ROM
|
||||
images.
|
||||
|
||||
### script/build/serprog
|
||||
|
||||
Build firmware images for serprog-based SPI programmers, where they use an
|
||||
|
|
|
@ -18,6 +18,14 @@ GPG signing key
|
|||
|
||||
### NEW KEY
|
||||
|
||||
Full key fingerprint: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF
|
||||
|
||||
Use this to verify the most recent releases.
|
||||
|
||||
### OLD KEY
|
||||
|
||||
The releases from calendar year 2023 use this key.
|
||||
|
||||
Full key fingerprint: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
|
||||
This is the same key used to sign Libreboot releases, which is also used to
|
||||
|
|
|
@ -16,7 +16,13 @@ Canoeboot із джерельного кода, [прочитайте цю ст
|
|||
|
||||
**Останнім випуском є Canoeboot 20231107, в директорії `canoeboot`.**
|
||||
|
||||
### НОВИЙ КЛЮЧ
|
||||
### NEW KEY
|
||||
|
||||
Full key fingerprint: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF
|
||||
|
||||
Use this to verify the most recent releases.
|
||||
|
||||
### OLD KEY
|
||||
|
||||
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
|
||||
|
|
14
site/faq.md
14
site/faq.md
|
@ -36,18 +36,18 @@ Testing involves minimal effort and really helps out the project.
|
|||
See the [board maintainers documentation](/docs/maintain/testing.md)
|
||||
if you are interested in testing roms before they are released.
|
||||
|
||||
Flashrom complains about DEVMEM access
|
||||
Flashprog 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 GNU+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 GNU+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
|
||||
|
@ -596,7 +596,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.
|
||||
|
||||
|
|
|
@ -30,15 +30,15 @@ x-toc-enable: true
|
|||
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 GNU+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 GNU+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
|
||||
|
@ -621,7 +621,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 зможе працювати із образом як зазвичай.
|
||||
|
||||
|
|
|
@ -4,9 +4,8 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
If you want to understand the issue Canoeboot had with GNU Boot, please
|
||||
read the [about page](about.md), the [Libreboot Binary Blob Reduction
|
||||
Policy](https://libreboot.org/news/policy.html) and the [GNU Boot article
|
||||
on libreboot.org](https://libreboot.org/news/gnuboot.html). Basically, the FSF
|
||||
read the [about page](about.md) and the [Libreboot Binary Blob Reduction
|
||||
Policy](https://libreboot.org/news/policy.html). Basically, the FSF
|
||||
decided to attempt a *hostile fork* of Libreboot, which they announced on 19
|
||||
March 2023 at their 2023 *LibrePlanet* conference. You can read about *that*
|
||||
and more of the history between GNU/FSF and Libreboot, by also reading
|
||||
|
|
|
@ -20,7 +20,7 @@ am 7. November 2023.
|
|||
Siehe auch: [Canoeboot 20231107 release announcement](news/canoeboot20231107.md).**
|
||||
|
||||
Canoeboot was *originally* named [nonGeNUine Boot](news/nongenuineboot20230717.html),
|
||||
provided as a proof of concept for the [GNU Boot](https://libreboot.org/news/gnuboot.html)
|
||||
provided as a proof of concept for the GNU Boot
|
||||
or *gnuboot* project to use a more modern Libreboot base, but
|
||||
they went in their own direction instead. Canoeboot development was continued,
|
||||
and it maintains sync with the Libreboot project, as a parallel development
|
||||
|
|
|
@ -17,7 +17,7 @@ dans le canal [\#canoeboot](https://web.libera.chat/#canoeboot) sur le serveur I
|
|||
le 7 novembre 2023.**
|
||||
|
||||
Canoeboot was *originally* named [nonGeNUine Boot](news/nongenuineboot20230717.html),
|
||||
provided as a proof of concept for the [GNU Boot](https://libreboot.org/news/gnuboot.html)
|
||||
provided as a proof of concept for the GNU Boot
|
||||
or *gnuboot* project to use a more modern Libreboot base, but
|
||||
they went in their own direction instead. Canoeboot development was continued,
|
||||
and it maintains sync with the Libreboot project, as a parallel development
|
||||
|
|
|
@ -18,7 +18,7 @@ su [Libera](https://libera.chat/).
|
|||
Vedi: [Canoeboot 20231107 annuncio di rilascio](news/canoeboot20231107.md).**
|
||||
|
||||
Canoeboot was *originally* named [nonGeNUine Boot](news/nongenuineboot20230717.html),
|
||||
provided as a proof of concept for the [GNU Boot](https://libreboot.org/news/gnuboot.html)
|
||||
provided as a proof of concept for the GNU Boot
|
||||
or *gnuboot* project to use a more modern Libreboot base, but
|
||||
they went in their own direction instead. Canoeboot development was continued,
|
||||
and it maintains sync with the Libreboot project, as a parallel development
|
||||
|
|
|
@ -20,7 +20,7 @@ on 7 November 2023.
|
|||
See: [Canoeboot 20231107 release announcement](news/canoeboot20231107.md).**
|
||||
|
||||
Canoeboot was *originally* named [nonGeNUine Boot](news/nongenuineboot20230717.html),
|
||||
provided as a proof of concept for the [GNU Boot](https://libreboot.org/news/gnuboot.html)
|
||||
provided as a proof of concept for the GNU Boot
|
||||
or *gnuboot* project to use a more modern Libreboot base, but
|
||||
they went in their own direction instead. Canoeboot development was continued,
|
||||
and it maintains sync with the Libreboot project, as a parallel development
|
||||
|
|
|
@ -19,7 +19,7 @@ x-toc-enable: true
|
|||
Дивіться: [Оголошення про випуск Canoeboot 20231107](news/canoeboot20231107.md).**
|
||||
|
||||
Canoeboot was *originally* named [nonGeNUine Boot](news/nongenuineboot20230717.html),
|
||||
provided as a proof of concept for the [GNU Boot](https://libreboot.org/news/gnuboot.html)
|
||||
provided as a proof of concept for the GNU Boot
|
||||
or *gnuboot* project to use a more modern Libreboot base, but
|
||||
they went in their own direction instead. Canoeboot development was continued,
|
||||
and it maintains sync with the Libreboot project, as a parallel development
|
||||
|
|
|
@ -10,7 +10,7 @@ x-toc-enable: true
|
|||
**新版发布: 最新版本 Canoeboot 20231107 已在 2023 年 11 月 07 日发布。详见: [Canoeboot 20231107 发布公告](news/canoeboot20231107.md).**
|
||||
|
||||
Canoeboot was *originally* named [nonGeNUine Boot](news/nongenuineboot20230717.html),
|
||||
provided as a proof of concept for the [GNU Boot](https://libreboot.org/news/gnuboot.html)
|
||||
provided as a proof of concept for the GNU Boot
|
||||
or *gnuboot* project to use a more modern Libreboot base, but
|
||||
they went in their own direction instead. Canoeboot development was continued,
|
||||
and it maintains sync with the Libreboot project, as a parallel development
|
||||
|
|
100
site/lbkey.asc
100
site/lbkey.asc
|
@ -1,54 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
nd5Eh2s/b3erYjM=
|
||||
=0LXq
|
||||
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
|
||||
ER7BLIU=
|
||||
=fknq
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
|
@ -1,52 +1,54 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
cK2uJIvCCmu0fWYvqD36xKor+/g=
|
||||
=rMte
|
||||
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
|
||||
nd5Eh2s/b3erYjM=
|
||||
=0LXq
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
cK2uJIvCCmu0fWYvqD36xKor+/g=
|
||||
=rMte
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -1,6 +1,15 @@
|
|||
% Canoeboot v0.1 released!
|
||||
% Leah Rowe in Canoe Leah Mode™
|
||||
% 27 January 2024
|
||||
% 3 May 2024
|
||||
|
||||
**WARNING: This release lacks LUKS2 support. If you want LUKS2 with argon2,
|
||||
please use the November 2023 release, or use a release made after 0.1. This
|
||||
is because 0.1 uses an older GRUB revision (more context provided below)**
|
||||
|
||||
**Canoeboot 0.1 is a meme release, and this will become clear when you read
|
||||
the notes below. Canoeboot 0.1 is not intended for production use, but only as
|
||||
a proof of concept. To reiterate: please use the November 2023 Canoeboot
|
||||
release, or a release made after Canoeboot 0.1.**
|
||||
|
||||
This is a special release. It is *not* based on the recent
|
||||
[Libreboot 20240126 release](https://libreboot.org/news/libreboot20240126.html).
|
||||
|
|
|
@ -14,8 +14,8 @@ This non-**G**e**NU**ine release was renamed to *nonGeNUine Boot* after
|
|||
receiving a [legal threat, citing trademark infringement](#update-21-july-2023)
|
||||
from the official GNU Boot project.
|
||||
|
||||
More context for this is provided by the Libreboot project. See:
|
||||
[GNU Boot article on libreboot.org](https://libreboot.org/news/gnuboot.html)
|
||||
More context for this is provided on the [GNU Boot vs Canoeboot](../gnuboot.md)
|
||||
page.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
|
Loading…
Reference in New Issue