parent
f2dd78251c
commit
2e2b6c7d52
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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)**
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)**
|
||||
|
||||
|
|
|
@ -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}
|
||||
===========
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}
|
||||
===========
|
||||
|
|
|
@ -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)**
|
||||
|
|
|
@ -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)**
|
||||
|
|
|
@ -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}
|
||||
=========
|
||||
|
|
|
@ -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)**
|
||||
|
|
|
@ -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}
|
||||
=========
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)**
|
||||
|
|
|
@ -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}
|
||||
=========
|
||||
|
|
|
@ -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}
|
||||
=========
|
||||
|
|
|
@ -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)**
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
========
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 окремо.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)**
|
||||
|
||||
Також відомо як Відповіді на часті питання
|
||||
|
||||
|
|
|
@ -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
|
||||
============
|
||||
|
|
|
@ -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
|
||||
============
|
||||
|
|
|
@ -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
|
||||
============
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue