Compare commits

...

17 Commits

Author SHA1 Message Date
Leah Rowe ec6898ff7d sync lbwww feb43add4d5b10eaff7bce82097594a7420904ed
remove redundant info in build instructions

Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 10:12:53 +01:00
Leah Rowe 99a41ea67c document dell latitude thermal safety paranoia
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 10:05:44 +01:00
Leah Rowe f98c753314 docs/install/spi: note about wson8 probes
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 09:55:39 +01:00
Leah Rowe fefa64b8f4 docs/install: mention about flashprog
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 09:54:51 +01:00
Leah Rowe e02400985d docs/install/spi: note about sck/clk
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 09:45:43 +01:00
Leah Rowe a14f320562 don't document flashrom. use flashprog instead.
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 09:41:53 +01:00
Leah Rowe 5dcba77fbe docs/build: note about correct time/date
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 09:08:01 +01:00
Leah Rowe 7581133bfb update d8/d16 info
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 09:07:36 +01:00
Lorenzo Aloe 888122eebf Update site/docs/hardware/macbook21.md 2024-05-04 08:53:13 +01:00
Leah Rowe 2f535252b0 further update
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-05-04 08:51:48 +01:00
Leah Rowe c125175615 docs/install: document CONFIG_X86_IOPL_IOPERM
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-05-04 08:51:04 +01:00
Leah Rowe 4ebb707a33 update gpg key on the download page
Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-04 08:47:37 +01:00
Leah Rowe e6ff72dde5 new gpg key
the old gpg key has expired, so here is the new libreboot
release signing key.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-05-04 08:44:05 +01:00
Leah Rowe 0b67fffe85 docs/install/spi: fix pin order in diagram
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-05-04 08:40:05 +01:00
Leah Rowe 82e8259203 docs/install/spi: fix wrong SOIC16 HOLD pin number
it's pin 1, not 3

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-05-04 08:39:52 +01:00
Leah Rowe 9e2b14552b warning
Signed-off-by: Leah Rowe <info@minifree.org>
2024-03-26 21:59:27 +00:00
Leah Rowe ba24673924 snip
Signed-off-by: Leah Rowe <info@minifree.org>
2024-02-13 04:47:13 +00:00
50 changed files with 606 additions and 322 deletions

View File

@ -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

View File

@ -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.

View File

@ -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.
Побудова з джерельного коду
============================

View File

@ -3,6 +3,9 @@ title: Modifying grub.cfg in CBFS
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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.

View File

@ -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

View File

@ -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>

View File

@ -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.

View File

@ -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 固件有一些好处,例如电池管理更加好。

View File

@ -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

View File

@ -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}
===========

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -76,7 +76,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
Flashing instructions can be found at
[../install/\#flashrom](../install/#flashrom)
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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

View File

@ -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)

View File

@ -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)

View File

@ -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)
------------------------------

View File

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

View File

@ -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`.

View File

@ -22,7 +22,7 @@ Flash chip size {#flashchips}
Use this to find out:
flashrom -p internal
flashprog -p internal
Flashing instructions {#clip}
=====================
@ -52,11 +52,11 @@ 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.

View File

@ -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.

View File

@ -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)
----------------------------------------------------------------

View File

@ -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

View File

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

View File

@ -3,6 +3,9 @@ title: Read/write 25XX NOR flash via SPI protocol
x-toc-enable: true
...
NOTE: 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

View File

@ -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 BlackBBB
----------------------
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 PiRPi
-----------------
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。

View File

@ -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

View File

@ -3,6 +3,9 @@ title: Flashing the ThinkPad T400 externally
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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}
===========

View File

@ -3,6 +3,9 @@ title: ThinkPad T500 external flashing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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}
===========

View File

@ -3,6 +3,9 @@ title: ThinkPad T60 Recovery guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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.

View File

@ -3,6 +3,9 @@ title: First-time ThinkPad X200 flashing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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.

View File

@ -3,6 +3,9 @@ title: Прошивка ThinkPad X200 вперше
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 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.

View File

@ -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

View File

@ -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

View File

@ -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`

View File

@ -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.

View File

@ -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 зможе працювати із образом як зазвичай.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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-----

View File

@ -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-----

52
site/lbkeyoldold.asc Normal file
View File

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
cK2uJIvCCmu0fWYvqD36xKor+/g=
=rMte
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -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).

View File

@ -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
============