Random docs cleanup

Signed-off-by: Leah Rowe <info@minifree.org>
master
Leah Rowe 2024-12-27 01:33:55 +00:00
parent f2dd78251c
commit 2e2b6c7d52
32 changed files with 156 additions and 129 deletions

View File

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

View File

@ -26,7 +26,9 @@ FLASH ERRORS (and workarounds)
=======================
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.**
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
This section relates to installing libreboot on supported targets.

View File

@ -164,5 +164,8 @@ 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: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**

View File

@ -146,8 +146,10 @@ between the pins until you can see the normal BIOS boot screen.
![](https://av.libreboot.org/hp8200sff/fdo\_screwdriver.jpg)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Now, run this command:

View File

@ -81,8 +81,10 @@ crystal (small metal cylinder) and the power cable for the optical drive.
Boot into an OS of your choice (that has flashprog support).
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
The BIOS should no longer impose any write-protections.
You can now use `flashprog -p internal` freely.

View File

@ -91,6 +91,8 @@ Some part of the board might turn on when programming. If programming fails,
you might have to attach the laptop to a charger. Make sure the laptop
powers off before running flashprog. No LEDs should be lit.
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**

View File

@ -54,8 +54,10 @@ for building a high-powered workstation. Powered by libreboot.
Flashing instructions can be found at
[../install/\#flashprog](../install/)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Form factor {#formfactor}
===========

View File

@ -105,8 +105,10 @@ MacBook2,1 can always be flashed internally, even if running Apple firmware:
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)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
The MacBook1,1 can't be flashed internally if running the Apple EFI firmware.
You must flash externally.

View File

@ -114,8 +114,10 @@ entire next section to it:
Use flashprog
------------
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
If you wish to operate on the GbE section that's already
flashed, you should *dump* the current full ROM image.

View File

@ -80,8 +80,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
Flashing instructions can be found at
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
EC update {#ecupdate}
=========
@ -176,8 +178,10 @@ Use this to find out:
flashprog -p internal
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
MAC address {#macaddress}
===========

View File

@ -19,8 +19,10 @@ operates Minifree Ltd; sales provide funding for the Libreboot project.
Introduction
============
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**

View File

@ -3,8 +3,10 @@ title: Generic SPI Flashing Guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**

View File

@ -79,8 +79,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
Flashing instructions can be found at
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
EC update {#ecupdate}
=========

View File

@ -12,8 +12,10 @@ Buy Libreboot preinstalled
Introduction
============
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**

View File

@ -81,8 +81,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
Flashing instructions can be found at
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
EC update {#ecupdate}
=========

View File

@ -3,8 +3,10 @@ title: ThinkPad T60 Recovery guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
"Unbricking" means flashing a known-good (working) ROM. The problem:
you can't boot the system, making this difficult. In this situation,

View File

@ -15,8 +15,10 @@ Buy Libreboot preinstalled
Introduction
============
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**

View File

@ -79,8 +79,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
Flashing instructions can be found at
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
EC update {#ecupdate}
=========

View File

@ -71,8 +71,10 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
Інструкції з перепрошивки можна знайти за адресою
[../install/\#flashprog](../install/#flashprog)
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Оновлення EC {#ecupdate}
=========

View File

@ -6,8 +6,10 @@ x-toc-enable: true
**Minifree now sells the Libreboot T480, instead of the Libreboot X230. See:
<https://minifree.org/product/libreboot-t480/>**
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**

View File

@ -3,8 +3,10 @@ title: ThinkPad X60 Recovery guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
"Unbricking" means flashing a known-good (working) ROM. The problem:
you can't boot the system, making this difficult. In this situation,

View File

@ -3,8 +3,10 @@ title: ThinkPad X60 Tablet Recovery guide
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
"Unbricking" means flashing a known-good (working) ROM. The problem:
you can't boot the system, making this difficult. In this situation,

View File

@ -82,9 +82,16 @@ See: [build from source](../build/)
IFD-based flash protection
--------------------------
**NOTE: This CAN cause bricks on a lot of machines. You should use this with
care. The FLILL and/or PRx based methods are more reliable - also SMM methods.
You can reconfigure coreboot and enable the chipset-based flash protection there
which accomplishes the same result, and the benefit is that it can't easily
be overridden by an evel maid attack e.g. can't simply set the service jumper
on desktops.**
The simplest way is to just do this:
ifdtool -x libreboot.rom -O libreboot.rom
ifdtool --lock libreboot.rom -O libreboot.rom
If you did the step before, to compile `cbfstool`, you can find ifdtool in
the `elf/` directory, e.g. `elf/ifdtool/default/ifdtool`. Use the ifdtool
@ -219,6 +226,26 @@ things like graphics cards. More information is available here:
If you're using a graphics card, you *need* VGA option ROMs at least.
GRUBSEA
-------
Another option is to make it so that GRUB is the primary payload on your board.
In this setup, SeaBIOS and U-Boot are still available.
For your board's `target.cfg`, add this:
payload_grubsea="y"
E.g. `config/coreboot/x200_8mb/target.cfg`
You should only do this on setups that have native graphics initialisation
e.g. Intel graphics, or where no VGA/GOP ROM is required either on-card or
in the flash (e.g. Intel graphics on Alderlake machines).
If you can't use GRUB as a primary payload, then you can use SeaGRUB as above
and disable the SeaBIOS menu, making SeaBIOS load only GRUB; SeaGRUB is useful
because GRUB will piggyback off of the VGA setup done by SeaBIOS first.
GPG keys
========

View File

@ -3,8 +3,10 @@ title: lbmk maintenance manual
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
In addition to this manual, you should also refer to [porting.md](porting.md)
and [testing.md](testing.md).
@ -709,6 +711,7 @@ as:
* `rev="ad983eeec76ecdb2aff4fb47baeee95ade012225"` (example entry)
* `xarch="i386-elf"` (example entry)
* `payload_grub="y"` (example entry)
* `payload_grubsea="y"`
* `payload_seabios="y"` (example entry)
* `payload_memtest="y"` (example entry)
* `payload_uboot="y"` (example entry)
@ -757,6 +760,18 @@ hence `xarch`.
The `payload_grub` entry specifies whether or not GRUB is to be included in
ROM images.
The `payload_grubsea` entry specifies that GRUB shall be the primary payload,
instead of SeaBIOS; SeaGRUB is disabled in this setup. You should only use this
where an Intel graphics device is present, or otherwise where native graphics
initialisation is present; it is also feasible on Intel Alderlake platforms,
but only where an Intel GPU is present; where a given system can use other
graphics devices, they must be unplugged or otherwise disabled. For example, you
must remove the graphics card on your desktop machine and only use the Intel
graphics, where it is available. Because of this, `payload_grubsea` is not
currently enabled by default (and SeaBIOS is more stable so it's a nice fallback
in case a bug in GRUB would otherwise brick your machine, because you can
bypass it and use SeaBIOS).
The `payload_seabios` entry specifies whether or not SeaBIOS is to be included
in ROM images. If GRUB is also enabled, standalone SeaBIOS images will be
created alongside SeaGRUB images. SeaGRUB is where SeaBIOS automatically

View File

@ -2,8 +2,10 @@
title: Porting guide for new mainboards
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
NOTE: This page is largely Intel-centric, at present. It should be revised to
cover more vendors. [Patches welcome!](../../git.md)

View File

@ -2,8 +2,10 @@
title: Керівництво перенесення
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Це керівнитво передбачається для тих, хто має дуже низький рівень знань про прошивку
загалом та coreboot окремо.

View File

@ -3,8 +3,10 @@ title: Frequently Asked Questions
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
AKA Frequently Questioned Answers

View File

@ -3,8 +3,10 @@ title: Часті питання
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Також відомо як Відповіді на часті питання

View File

@ -2,8 +2,10 @@
% Leah Rowe
% 20 October 2023
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Introduction
============

View File

@ -2,8 +2,10 @@
% Leah Rowe
% 31 December 2023
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Introduction
============

View File

@ -9,8 +9,10 @@ does not need vendor files, the resulting ROM images will be identical and
therefore nothing will have happened. The inject script is designed to insert
certain files, only if required on a given mainboard.**
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
The reason why was explained, in
the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
Introduction
============

View File

@ -3,16 +3,10 @@ title: Jobs that need doing
x-toc-enable: true
...
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
now, as of 27 January 2024, which is a fork of flashrom.
This page contains a curated list of tasks that are to be worked on, or tasks
that are being worked on. This is intended to complement
the [issue pages](https://codeberg.org/libreboot/lbmk/issues/).
Many of these entries will pertain to *lbmk*, which is Libreboot's build
system, but some entries may relate to documentation, or organisational
changes.
The reason why was explained, in
the [Libreboot 20240225 release](../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
If you want to work on some of these yourself, patches are always welcome!
Please read the [code review page](../git.md), which provides guidance on
@ -62,52 +56,23 @@ audits are done in Libreboot, see:
* [Libreboot build system audit 1](../news/audit.md)
* [Libreboot build system audit 2](../news/audit2.md)
* [Libreboot build system audit 3](../news/audit3.md)
* [Libreboot build system audit 4](../news/audit4.md)
* [Libreboot build system audit 5](../news/audit5.md)
* [Libreboot build system audit 6](../news/audit6.md)
Auditing can often be pedantic, and seem petty. You might commit a patch that
reduces the sloccount by only 1 line, maybe 3, but they all add up. Audit 3
contained hundreds of changes, small changes, that together accounted for
about 1000 lines of code removed, while not affecting functionality in any way.
reduces the sloccount by only 1 line, maybe 3, but they all add up.
This will always remain on the TODO list, because there will always be a need
for auditing, as is true of any codebase. It is always possible to fix more
bugs or improve a piece of code. As they say: the code is never finished.
I say again:
Port vendor scripts to Heads
============================
Ironically, one of the first entries on this page pertains to a competing
project.
I promised the Heads project that I'd port Libreboot's vendorfile download and
inject scripts to the Heads build system. Libreboot provides these scripts for
automatically downloading certain firmwares at build time, as and when
required for a given mainboard. These are provided by the vendor, e.g. SMSC
SCH5545 Environment Control (EC) firmware used for fan control on Dell
Precision T1650.
Heads has such logic, but it's not as developed as the logic in Libreboot,
which was originally inspired by the Heads logic and then greatly expanded upon.
I'm putting this here on the Libreboot TODO page, so that I always see it. And
I'm keeping it at the top of the page. This TODO entry is still relevant to
Libreboot, because it concerns work that I will do in my official capacity,
representing Libreboot while helping the (friendly) competition.
See: <https://osresearch.net/>
Heads is a really cool project, offering Linux-based kexec payloads on
supported hardware. It's another coreboot distro, and their build system design
even works similarly to Libreboot's (though they heavily use Makefiles whereas
Libreboot exclusively uses shell scripts and uses a much simpler design). Heads
provides many advanced security features like measured boot, even things like
TOTP-based authentication using secrets stored in the TPM.
Very, very, very^2 cool project, and Libreboot has plans to integrate some
of the same functionalitiys within it (see other notes on this page).
Code equals bugs, so fewer lines of code will cause fewer bugs.
Interesting board ports
=======================
**Any board port is interesting. These are just a few that happened to be
noticed at a given time. The list below is by no means complete!**
Libreboot can support any board from coreboot, in principle. It would also be
feasible to integrate other (libre) boot firmware, if desirable. The list below
is not exhaustive, it just lists boards that are interesting to us at this time:
@ -375,57 +340,11 @@ oreboot is still a good project.
(though, whenever possible, lbmk should stick to coreboot, to keep things
simpler - are there efforts to implement oreboot ports in coreboot/C?)
UEFI payload
============
A UEFI payload in Libreboot is highly desirable, because it would basically
enable any distro or BSD to Just Work.
MrChromebox distribution
------------------------
MrChromebox is another coreboot distro, similar in spirit to Libreboot.
Of interest: Mrchromebox provides Tianocore-based UEFI setups on chromebooks,
and we could probably integrate some of that in Libreboot. Tianocore is
essentially bloatware, and really a liability for the Libreboot project due
to its complexity, though MrChromebox targets a very different audience.
Chromebooks (x86)
LoongArch support
-----------------
Start supporting x86 chromebooks in Libreboot. We don't support any.
There is already MrChromebox, we could just track that, but use our own
payloads instead of Tianocore.
Specifically: lbmk could have a feature added to it where it re-uses configs
from MrChromebox, with logic to automatically disable the payload. In lbmk,
coreboot configs do not enable payloads at all, because payloads are
compiled by lbmk and added after the fact - this is why we have `elf/`
containing coreboot images without payloads, and `bin/` which contains the
full ROMs, with payloads inside. This design is much more flexible, and permits
builds to be re-used more efficiently so as to reduce overall build time, when
compiling for multiple mainboards.
U-Boot SPL and UEFI on x86
--------------------------
Simon Glass has been working extensively on x86 support for U-Boot, to be used
as a coreboot payload. This work is of interest to the Libreboot project,
because we provide UEFI on ARM but not on x86.
U-Boot also provides SPL which can be used to execute other software in the
flash, and it's often used to boot a Linux kernel; since U-Boot provides a
UEFI implementation, it's perfect.
U-Boot is the preferred choice of UEFI implementation on x86, for Libreboot
purposes, because U-Boot uses a coding style similar to Linux and can more
easily import Linux drivers which are high quality, and Linux functionality
in general, for anything that we need.
Since we already provide U-Boot on ARM (thanks to the continued work done by
Alper Nebi Yasak), U-Boot on x86 would then create a situation whereby Libreboot
is consistent across platforms, at least for UEFI-based setups.
Ariadne Conill has been working on bringup for coreboot. Work also being done
with edk2; U-Boot also desirable here.
RockPro64
---------
@ -445,6 +364,11 @@ For UEFI purposes, U-Boot seems more mature, and it offers other features
like SPL. As already stated, this is the preferred UEFI implementation for
Libreboot, but uefistub is listed too because it's interesting.
Probably useless, since U-Boot is more complete. We may aswell use U-Boot, but
uefistub will remain mentioned here for the time being. The context for
uefistub is linuxboot-only setups; this is where uefistub can truly shine,
specifically on ARM64 devices.
Videos (plus RISCV)
------
@ -466,6 +390,10 @@ The talks go all the way back to 2018. They're all worth watching.
Linuxboot
=========
**NOTE: Stali Linux is a useful base, on top of which any Linux-based setup
could be built. With a stripped down kernel, it already provides a sensible
build system for ARM64 and AMD64.**
See for inspiration: [Heads project](https://osresearch.net/)
and [Ownerboot project](https://sr.ht/~amjoseph/ownerboot/), these are other
coreboot distros similar to Libreboot, but they provide Linux-based payloads.