Merge branch 'master' into polish-cn-translation

master
Integral 2024-03-02 11:13:32 -08:00
commit 64584fd7d3
13 changed files with 421 additions and 59 deletions

View File

@ -455,7 +455,7 @@ example of the push pin as a proof of concept:
[You must flash it externally](spi.md)
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashprog_lenovobios}
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashrom_lenovobios}
**WARNING: Libreboot 20231021 and likely older 2023 releases do not have the
bootblock copied in release ROMs, so the bucts trick below will actually cause
@ -470,9 +470,16 @@ And then do this:
(This was fixed in Libreboot 20231101)
**NOTE: the section below pertaining to 20160907 static binaries references
flashrom. Libreboot recommends flashprog nowadays, but if you're using that
utils archive, please note that it is from a time when Libreboot used
flashrom. Use flashrom there as that's what included in those binaries.
Libreboot does not currently document how to patch flashprog for sst/macronix
on X60/T60, when going (in software) from lenovobios to libreboot.**
**NOTE: This section partially relates to `utils` release archive in
Libreboot 20160907, which contains static compiled binaries for things like
bucts and flashprog. It will *still* work on modern distros, and thus is
bucts and flashrom. It will *still* work on modern distros, and thus is
still referenced here. The `flash` script in that release can be used, with
modern Libreboot ROMs. Current Libreboot releases do not include pre-compiled
utilities, only ROMs.**
@ -487,7 +494,7 @@ X60 BIOS password (Lenovo): you might find info here:
<https://bios-pw.org/>
You can just get bucts from the libreboot project, same thing for the patched
flashprog. In the Libreboot 20160907 release, there is a *utility* archive, which
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.
@ -502,12 +509,12 @@ Here are a list of targets:
and you will run it at 115200 baud rate. agetty/fgetty in Linux can give
you a serial console in your OS)
Download and build flashprog, using the instructions
on [the Git page](../../git.md), and download the `bucts` software using the
notes on that very same page.
You can replace Lenovo BIOS with libreboot, using flashprog running on the host
CPU. However, there are some considerations.
You can replace Lenovo BIOS with libreboot, using flashrom running on the host
CPU. However, there are some considerations. NOTE: needs patching for SST
and macronix chips, but libreboot doesn't yet do this for flashprog. You can
use the old Libreboot 20160907 sources to get the modified flashrom instead,
which contains this patch - and static binaries are provided, for convenience;
they will still work, due to libs being statically linked.
Firstly, make sure that the yellow CMOS battery is installed, and functioning
correctly. You could check the voltage. The battery is a CR2032
@ -518,7 +525,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 flashprog binary, you can easily flash it but the top 64KiB
specially patched flashrom 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*.
@ -532,12 +539,12 @@ program referenced below.
The libreboot ROM images already have the upper 64KiB bootblock copied to the lower
one, so you don't have to worry about copying it yourself.
If you build flashprog using the libreboot build system, there will be three
If you use the Libreboot 20160907 utils archive, there will be three
binaries:
* `flashprog`
* `flashprog_i945_sst`
* `flashprog_i945_mx`
* `flashrom`
* `flashrom_i945_sst`
* `flashrom_i945_mx`
It's these last two binaries that you should use. Now compile bucts (just
run `make` in the bucts source directory).
@ -549,19 +556,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 `flashprog_i945_sst` for the SST chip, and `flashprog_i945_mx` for the
use `flashrom_i945_sst` for the SST chip, and `flashrom_i945_mx` for the
Macronix chip.
Now run flashprog (for SST):
Now run flashrom from the Libreboot 20160907 utils archive (for SST):
sudo ./flashprog_i945_sst -p internal -w coreboot.rom
sudo ./flashrom_i945_sst -p internal -w coreboot.rom
Or Macronix:
sudo ./flashprog_i945_mx -p internal -w coreboot.rom
sudo ./flashrom_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 flashprog. In fact, you should do so!
harmless to run both versions of flashrom. In fact, you should do so!
You'll see a lot of errors. This is normal. You should see something like:
@ -589,28 +596,36 @@ 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 flashprog complains about `/dev/mem` access, please
run `sudo ./bucts 0`. If flashprog is complaining about `/dev/mem`, it means
**WARNING: if flashrom (from Libreboot 20160907 utils) complains
about `/dev/mem` access, please
run `sudo ./bucts 0`. If flashrom 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 flashprog output as indicated above.**
you see the expected flashrom output as indicated above.**
If you *did* run flashprog and it failed to flash, but you set bucts to 1 and
If you *did* run flashrom 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 flashprog didn't do
coin-cell and try again from scratch. In this instance, if flashrom 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.
Assuming that everything went well:
Switch to flashprog now! (avoid flashrom)
---------------------------------------
Flash the ROM for a second time. For this second flashing attempt, the upper
64KiB bootblock is now read-write. Use the *unpatched* flashprog binary:
sudo ./flashprog -p internal -w libreboot.rom
NOTE: At this point, we recommend use of flashprog instead of flashrom, for
the reasons mentioned in the [Libreboot 20240225
release](../../news/libreboot20240225.md).
To reset bucts, do this:
sudo ./bucts 0

View File

@ -31,13 +31,13 @@ LIBREBOOT](news/safety.md).**
GPG signing key
---------------
**The latest release is Libreboot 20240126, under the `testing` directory.**
**The latest release is Libreboot 20240225, under the `testing` directory.**
### NEW KEY
Full key fingerprint: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
This key is for Libreboot releases *after* the 20240126 release. It applies to
This key is for Libreboot releases *after* the 20240225 release. It applies to
all Libreboot releases from the year 2024, and it will expire (unless revoked
early) on 26 December 2028.
@ -50,9 +50,9 @@ Libreboot releases are signed using GPG.
Full key fingerprint: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
This key is for Libreboot releases *after* the 20160907 release, and up
to the Libreboot 20240126 release. This key *expired* during December 2023,
to the Libreboot 20240225 release. This key *expired* during December 2023,
so you should use the *newer* key (see above) for the releases after
Libreboot 20240126.
Libreboot 20240225.
Download the key here: [lbkey.asc](lbkeyold.asc)
@ -83,7 +83,7 @@ there is a Git repository that you can download from. Go here:
HTTPS mirrors {#https}
-------------
**The latest release is Libreboot 20240126, under the `testing` directory.**
**The latest release is Libreboot 20240225, under the `testing` directory.**
These mirrors are recommended, since they use TLS (https://) encryption.
@ -174,7 +174,7 @@ crontab. This page tells you how to use crontab:
HTTP mirrors {#http}
------------
**The latest release is Libreboot 20240126, under the `testing` directory.**
**The latest release is Libreboot 20240225, under the `testing` directory.**
WARNING: these mirrors are non-HTTPS which means that they are
unencrypted. Your traffic could be subject to interference by
@ -188,7 +188,7 @@ if using HTTPS.
FTP mirrors {#ftp}
-----------
**The latest release is Libreboot 20240126, under the `testing` directory.**
**The latest release is Libreboot 20240225, under the `testing` directory.**
WARNING: FTP is also unencrypted, like HTTP. The same risks are present.

View File

@ -31,13 +31,13 @@ LIBREBOOT](news/safety.md).**
Код підпису GPG
---------------
**Останнім випуском є Libreboot 20240126, в директорії `testing`.**
**Останнім випуском є Libreboot 20240225, в директорії `testing`.**
### НОВИЙ КЛЮЧ
Повний відбиток ключа: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
Вищезазначений ключ для Libreboot 20240126, та наступних випусків. This key
Вищезазначений ключ для Libreboot 20240225, та наступних випусків. This key
is applicable to any release made on or after the date: 28 December 2023. It
will expire on 26 December 2028.
@ -50,9 +50,9 @@ will expire on 26 December 2028.
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
This key is for Libreboot releases *after* the 20160907 release, and up
to the Libreboot 20240126 release. This key *expired* during December 2023,
to the Libreboot 20240225 release. This key *expired* during December 2023,
so you should use the *newer* key (see above) for the releases after
Libreboot 20240126.
Libreboot 20240225.
Завантажте ключ тут: [lbkey.asc](lbkeyold.asc)
@ -83,7 +83,7 @@ Libreboot 20240126.
Дзеркала HTTPS {#https}
-------------
**Останнім випуском є Libreboot 20240126, в директорії `testing`.**
**Останнім випуском є Libreboot 20240225, в директорії `testing`.**
Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування.
@ -174,7 +174,7 @@ crontab. Ця сторінка розповідає вам, як викорис
Дзеркала HTTP {#http}
------------
**Останнім випуском є Libreboot 20240126, під директорією `testing`.**
**Останнім випуском є Libreboot 20240225, під директорією `testing`.**
УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
незашифровані. Ваш трафік може бути об'єктом втручання
@ -188,7 +188,7 @@ crontab. Ця сторінка розповідає вам, як викорис
Дзеркала FTP {#ftp}
-----------
**Останнім випуском є Libreboot 20240126, під директорією `testing`.**
**Останнім випуском є Libreboot 20240225, під директорією `testing`.**
УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.

View File

@ -21,9 +21,9 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
Minifree; sales provide funding for Libreboot.
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20240126, veröffentlicht
am 26. January 2024.
Siehe auch: [Libreboot 20240126 release announcement](news/libreboot20240126.md).**
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20240225, veröffentlicht
am 25. February 2024.
Siehe auch: [Libreboot 20240225 release announcement](news/libreboot20240225.md).**
Warum solltest Du *Libreboot* verwenden?
----------------------------
@ -71,7 +71,7 @@ musst Du zunächst Konfigurationen auf Experten Level durchführen,
und zwar für Coreboot, GRUB sowie sämtliche Software die Du sonst noch verwenden
möchtest um das ROM Image vorzubereiten. Mithilfe von *Libreboot* kannst Du
sprichwörtlich von Git oder einem anderen Quell-Archiv herunterladen, anschliessend
`make` ausführen, und es wird komplette ROM Images herstellen, ohne das Benutzer
ein script ausführen, und es wird komplette ROM Images herstellen, ohne das Benutzer
Eingaben oder Eingreifen von Nöten sind. Die Konfiguration wurde bereits im
Vorfeld erledigt.

View File

@ -19,8 +19,8 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
Minifree; sales provide funding for Libreboot.
**NOUVELLE VERSION: La dernière version est [Libreboot 20240126](news/libreboot20240126.md), sortie
le 26 January 2024.**
**NOUVELLE VERSION: La dernière version est [Libreboot 20240225](news/libreboot20240225.md), sortie
le 25 February 2024.**
Pourquoi devriez-vous utiliser *Libreboot*?
-----------------------------------
@ -68,7 +68,7 @@ en partant des bases, vous devez alors effectuer une configuration experte
de Coreboot, GRUB et n'importe quel autre logiciel dont vous avez besoin
afin de préparer la ROM. Avec *Libreboot*,
vous pouvez télécharger la source depuis Git ou une archive, exécuter
`make` etça compilera une image ROM entières. Le système de compilation
and a script etça compilera une image ROM entières. Le système de compilation
automatisé de Libreboot nommé `lbmk` (Libreboot MaKe), compile ces images
ROM automatiquement, sans besoin d'entrées utilisateur or intervention
requise. La configuration est faite à l'avance.

View File

@ -20,8 +20,8 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
Minifree; sales provide funding for Libreboot.
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20240126, rilasciato il 26 January 2024.
Vedi: [Libreboot 20240126 annuncio di rilascio](news/libreboot20240126.md).**
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20240225, rilasciato il 25 February 2024.
Vedi: [Libreboot 20240225 annuncio di rilascio](news/libreboot20240225.md).**
Per quale ragione utilizzare *Libreboot*?
-----------------------------------------
@ -66,7 +66,7 @@ compilazione automatico di Libreboot.
Esattamente come *Alpine Linux* e' una *distribuzione Linux*, Libreboot e' una
*distribuzione coreboot*. Per fare un immagine ROM da zero, hai bisogno di esperienza necessaria
nel configurare coreboot, GRUB e qualunque altra cosa ti serve. Con *Libreboot*,
che puoi scaricare da Git o da un archivio di codici sorgenti, puoi far partire `make`,
che puoi scaricare da Git o da un archivio di codici sorgenti, puoi far partire *a script*,
e questo mettera' su automaticamente le immagini ROM richieste. Un sistema di compilazione automatico,
chiamato `lbmk` (Libreboot MaKe), mettera' su quelle immagini ROM automaticamente, senza troppi
interventi da parte dell'utente. Le configurazioni di base sono gia' state previste in precedenza.

View File

@ -23,9 +23,9 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
Minifree; sales provide funding for Libreboot.
**NEW RELEASE: The latest release is Libreboot 20240126, released on
26 January 2024.
See: [Libreboot 20240126 release announcement](news/libreboot20240126.md).**
**NEW RELEASE: The latest release is Libreboot 20240225, released on
25 February 2024.
See: [Libreboot 20240225 release announcement](news/libreboot20240225.md).**
*We* believe the freedom to [study, share, modify and use
software](https://writefreesoftware.org/), without any
@ -121,8 +121,8 @@ In the same way that *Alpine Linux* is a *Linux distribution*, Libreboot is
a *coreboot distribution*. If you want to build a ROM image from scratch, you
otherwise have to perform expert-level configuration of coreboot, GRUB and
whatever other software you need, to prepare the ROM image. With *Libreboot*,
you can literally download from Git or a source archive, and run `make`, and it
will build entire ROM images. An automated build system, named `lbmk`
you can literally download from Git or a source archive, and run a simple script,
and it will build entire ROM images. An automated build system, named `lbmk`
(Libreboot MaKe), builds these ROM images automatically, without any user input
or intervention required. Configuration has already been performed in advance.

View File

@ -21,8 +21,8 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
Minifree; sales provide funding for Libreboot.
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20240126, випущено 26 січень 2024.
Дивіться: [Оголошення про випуск Libreboot 20240126](news/libreboot20240126.md).**
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20240225, випущено 25 лютий 2024.
Дивіться: [Оголошення про випуск Libreboot 20240225](news/libreboot20240225.md).**
Чому вам варто використовувати *Libreboot*?
----------------------------
@ -61,7 +61,7 @@ Coreboot помітно складний для встановлення для
*дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам
інакше довелось би виконати налаштування експертного рівня coreboot, GRUB та
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *Libreboot*,
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити `make`, і це
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити a script, і це
побудує всі образи ROM. Автоматизована система побудови, названа `lbmk`
(Libreboot MaKe), збирає ці образи ROM автоматично, без будь-якого вводу користувача
або потрібного втручання. Налаштування вже виконано заздалегідь.

View File

@ -12,7 +12,7 @@ x-toc-enable: true
Libreboot 的创始人和主要开发者Leah Rowe也是 Minifree 的所有者和经营者;
销售电脑为 Libreboot 提供资金。
**新版发布: 最新版本 Libreboot 20240126 已在 2024 年 01 月 24 日发布。详见: [Libreboot 20240126 发布公告](news/libreboot20240126.md).**
**新版发布: 最新版本 Libreboot 20240225 已在 2024 年 02 月 25 日发布。详见: [Libreboot 20240225 发布公告](news/libreboot20240225.md).**
为什么要使用 *Libreboot*?
----------------------------

View File

@ -1,3 +1,4 @@
libreboot20240225.md
ports202402.md
sourcehut.md
libreboot20240126.md

View File

@ -0,0 +1,307 @@
% Libreboot 20240225 released!
% Leah Rowe
% 25 February 2024
Introduction
============
Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing
boot firmware that initialises the hardware in your computer, to then load an
operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*,
in the same way that Debian is a Linux distribution. It provides an automated
build system to produce coreboot ROM images with a variety of payloads such as
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy
to use as possible for non-technical users.
Libreboot provides many additional benefits such as fast boot speeds, greater
security and greater customisation, but the *primary* benefit
is [software freedom](https://writefreesoftware.org/learn).
*This* new release, Libreboot 20240225, released today 25 February 2024, is
a new *testing* release of Libreboot. The previous release was
Libreboot 20240126, released on 26 January 2024. The most careful and
iterative approach is being taken in current development, because a new stable
release is to be made available by the summer of 2024. Much of Libreboot's
current focus is purely on hardware support, since the build system is more
or less stable at this point (owing to all of last year's major code audits).
Today's release has had some testing already, on most of the boards, and should
run just fine. If you spot any issues, please report them on Libreboot's bug
tracker.
Hardware supported in this release
==================================
This release supports the following hardware:
### Servers (AMD, x86)
- [ASUS KFSN4-DRE motherboard](../docs/hardware/kfsn4-dre.md)
- [ASUS KGPE-D16 motherboard](../docs/hardware/kgpe-d16.md)
### Desktops (AMD, Intel, x86)
- **[Dell OptiPlex 7020/9020 MT and SFF](../docs/hardware/dell9020.md) - Also [available to buy
with Libreboot preinstalled](https://minifree.org/product/libreboot-9020/)** - Dell OptiPlex XE2 MT/SFF also known to work
- [Acer G43T-AM3](../docs/hardware/acer_g43t-am3.md)
- [Apple iMac 5,2](../docs/hardware/imac52.md)
- [ASUS KCMA-D8 motherboard](../docs/hardware/kcma-d8.md)
- Dell OptiPlex 7010 **MT** (known to work, using the T1650 ROM, but more
research is needed)
- [Dell Precision T1650](../docs/hardware/t1650.md)
- [Gigabyte GA-G41M-ES2L motherboard](../docs/hardware/ga-g41m-es2l.md)
- [HP Elite 8200 SFF/MT](../docs/hardware/hp8200sff.md) (HP 6200 Pro Business probably works too)
- [HP Elite 8300 USDT](../docs/hardware/hp8300usdt.md)
- [Intel D510MO and D410PT motherboards](../docs/hardware/d510mo.md)
- [Intel D945GCLF](../docs/hardware/d945gclf.md)
### Laptops (Intel, x86)
- **[HP EliteBook 820 G2](../docs/hardware/hp820g2.md) - Also [available to buy with Libreboot
preinstalled](https://minifree.org/product/libreboot-820/)**
- **[Lenovo ThinkPad T440p](../docs/install/t440p_external.md) - Also [available
to buy with Libreboot preinstalled](https://minifree.org/product/libreboot-t440p/)**
- **[Lenovo ThinkPad W541](../docs/install/ivy_has_common.md) - Also [available to
buy with Libreboot preinstalled](https://minifree.org/product/libreboot-w541/)**
- [Apple MacBook1,1 and MacBook2,1](../docs/hardware/macbook21.md)
- [Dell Latitude E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel
GPU](../docs/hardware/e6400.md)
- [Dell Latitude E6420 (Intel GPU](../docs/hardware/e6420.md)
- [Dell Latitude E6430 (Intel GPU](../docs/hardware/e6430.md)
- [Dell Latitude E5520 (Intel GPU](../docs/hardware/e5520.md)
- [Dell Latitude E5530 (Intel GPU](../docs/hardware/e5530.md)
- [Dell Latitude E6520 (Intel GPU](../docs/hardware/e6520.md)
- [Dell Latitude E6530 (Intel GPU](../docs/hardware/e6530.md)
- [HP EliteBook 2170p](../docs/hardware/hp2170p.md)
- [HP EliteBook 2560p](../docs/hardware/hp2560p.md)
- [HP EliteBook 2570p](../docs/hardware/hp2570p.md)
- [HP EliteBook 8460p](../docs/hardware/hp8460p.md)
- [HP EliteBook 8470p](../docs/hardware/hp8470p.md)
- [HP EliteBook 8560w](../docs/hardware/hp8560w.md)
- [HP EliteBook Folio 9470m](../docs/hardware/hp9470m.md)
- [Lenovo ThinkPad R400](../docs/hardware/r400.md)
- [Lenovo ThinkPad R500](../docs/hardware/r500.md)
- [Lenovo ThinkPad T400 / T400S](../docs/hardware/t400.md)
- [Lenovo Thinkpad T420](../docs/install/ivy_has_common.md) (no install docs yet)
- [Lenovo ThinkPad T420S](../docs/install/ivy_has_common.md) (no install docs yet)
- [Lenovo ThinkPad T430](../docs/install/ivy_has_common.md) (no install docs yet)
- [Lenovo ThinkPad T500](../docs/hardware/t500.md)
- [Lenovo ThinkPad T520 / W520](../docs/install/ivy_has_common.md) (no install guide yet)
- [Lenovo ThinkPad T530 / W530](../docs/install/ivy_has_common.md) (no install
- Lenovo ThinkPad T60 (with Intel GPU)
- [Lenovo ThinkPad W500](../docs/hardware/t500.md)
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](../docs/hardware/x200.md)
- [Lenovo Thinkpad X220](../docs/install/ivy_has_common.md)
- [Lenovo Thinkpad X220t](../docs/install/ivy_has_common.md)
- Lenovo ThinkPad X230
- [Lenovo Thinkpad X230](../docs/install/x230_external.md)
- [Lenovo Thinkpad X230t](../docs/install/x230_external.md)
- Lenovo ThinkPad X301
- Lenovo ThinkPad X60 / X60S / X60 Tablet
### Laptops (ARM, with U-Boot payload)
- [ASUS Chromebook Flip C101 (gru-bob)](../docs/install/chromebooks.md)
- [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md)
Work done since last release
============================
With the exception of pico-serprog and replacing flashrom with flashprog (more
on this later), the current upstream revisions remain unchanged, but this
release has fixed a few issues and added more mainboards, relative to last
month's release.
New mainboards
--------------
* **HP EliteBook 8560w** - added to lbmk by Riku Viitanen, using the coreboot port
written by Iru Cai, with Riku's MXM support added on top (more on this later)
* **Dell Latitude E5520** - added to lbmk by Nicholas Chin, using his own coreboot
port for this board (testing provided by `Minimum_Baseball_629` on reddit)
* **Dell Latitude E5530** - added to lbmk by Nicholas Chin, using his own coreboot
port for this board (testing provided by Martin Dawson)
* **Dell Latitude E6520** - added to lbmk by Nicholas Chin, using his own coreboot
port for this board (testing provided by Martin Dawson)
* **Dell Latitude E6420** - added to lbmk by Nicholas Chin, using his own coreboot
port for this board (testing provided by Martin Dawson)
* **Dell OptiPlex 9020/7020 SFF** (and XE2 SFF) - added to lbmk by Leah Rowe, using
the coreboot port implemented by Mate Kukri.
* **Dell OptiPlex 9020/7020 MT** (and XE2 MT) - added to lbmk by Leah Rowe, using
the coreboot port implemented by Mate Kukri - uses Haswell MRC, but testing
was also done on Broadwell MRC (not yet added to lbmk due to lack of XHCI
support in GRUB, whereas EHCI seems to work fine in the Haswell one - a patch
was also [submitted](https://review.coreboot.org/c/coreboot/+/80717) to
coreboot for review, fixing VGA decode on discrete graphics cards when the
Broadwell MRC is used - this patch too is not yet included in Libreboot).
SeaBIOS MXM INT15H interrupt
----------------------------
For Libreboot's new HP EliteBook 8560w support, MXM handling was added to
SeaBIOS. This was performed by Riku Viitanen, who also wrote this tool:
<https://codeberg.org/Riku_V/mxmdump/>
These laptops use upgradeable graphics cards in an MXM slot. The MXM
specification states that the MXM config can be provided in an i2c ROM (and
Libreboot would not have to handle that) or, in some cases, may be provided
in the main boot flash, and loaded using an INT15H interrupt.
The MXM config is used by the VGA Option ROM on the card, for configuring
things like ports / power management. Without it, running the option ROM
would result in an error on the screen, telling you that the MXM configuration
was not loaded. In some cases, you may be able to modify the ROM to bypass it,
or it would just "work" anyway - but with undefined behaviour.
With Riku's addition, this EliteBook 8560w now works perfectly. Coreboot has
had a port for some time, but without the MXM support - for now, it is only
available in SeaBIOS, so you must use *SeaBIOS* to run the VGA Option ROM (it
cannot yet be done directly from coreboot).
U-Boot release script
---------------------
The script at `script/update/release` now supports generating standalone
U-Boot source archives, like so:
./update release -m u-boot
The usual `-d` option also works, for specifying a directory other
than `release/`. Libreboot still provides U-Boot embedded within the larger
source release archive, and does not yet actually provide U-Boot as a
standalone project, but some people may find this useful.
Pico-serprog updates
--------------------
Riku Viitanen added support for controlling multiple chip-selects. With the
new functionality, you can set unused chipselects high. This is useful when
flashing externally on an Intel IFD-based system where the two flashes are
connected, but without resistors between the shared data lines - on these
systems, the other flash's chipselect is electrically *floating* which means
it's in an undefined state; the new version allows you to control all of them,
turning *off* the other chip. This is useful when flashing the ThinkPad W541.
Documentation is provided for this, in the pico-serprog README. Riku also
fixed this issue:
<https://codeberg.org/libreboot/lbmk/issues/182>
Riku also increased the default drive strength to 12mA on all RP2024 boards,
increasing reliabily when externally flashing certain mainboards (e.g. PCH
having low/no resistance on connections to the data lines for the flash).
Flashprog now used, instead of flashrom
---------------------------------------
Nico Huber was unfairly banned from participation in the flashrom project, and
went on to create a new project called [flashprog](https://flashprog.org/). The
purpose of flashprog is to provide *stable* releases, with incremental
development over time, maintaining support for newer chips/devices, while
being careful not to break old ones. The new leadership of flashrom takes a
far less conservative approach; flashprog was initially released as a project
called *flashrom-stable*, and Nico was permitted to use the coreboot gerrit
infrastructure - permission which was later revoked, leading to flashprog.
The new leader of flashrom accused Nico of foul behaviour, while not providing
any evidence; this, at the same time that the two of them had seemingly
incompatible assumptions about the future of the project. It's pretty clear
what the real reason was for his *dismissal*, though the Libreboot project is
not taking Nico's side simply for personal reasons - no, it is because Nico has
a much better vision for the flashrom project, which he is now implementing in
the new flashprog project.
Several developers have already jumped ship and went to work on flashprog.
Nico's vision is a far more sensible one, and he has been invaluable to the
Libreboot project over many years. He has *personally* provided me with help
and advise on numerous occasions. He is also the author of the Roda RK9 port in
coreboot, upon which Vladimir Serbinenko's ThinkPad X200 port was based - work
which *defined* Libreboot in its early days, contributions for which I remain
eternally grateful. I *know* Nico and trust him as a project leader. As a result,
Libreboot withdraws its support and endorsement of flashrom - it will only
promote flashprog from now on.
It's quite possible that *flashrom* has a future, but there's no reason why
their changes cannot also be included in flashprog, if they are good changes,
moving forward. Libreboot supports Nico's work out of principle, both on
a social (community-led, anyone can participate in it) and technological
perspective. This was done because, firstly Nico Huber is a better leader,
and flashprog is very likely to become the dominant project in the future.
This is the *first* Libreboot release to include flashprog sources, instead
of flashrom. Moving forward, we will *not* be providing support for flashrom.
Only flashprog. Libreboot's distribution of flashprog *also* includes the
macronix workaround (useful when externally flashing the ThinkPad X200).
Indeed, Nico's mentality has already proven to have merit; newer revisions of
flashrom *break* internal flashing on ThinkPad X60 and T60, last time it was
tested (some time during Q4 2023, on the latest git revision). Nico's flashprog
is rock-solid on these older platforms, while having already added several major
new features and hardware functionality - for instance, it has code for handling
Riku Viitanen's recent changes on the RP2040 serprog images, for pulling unused
chipselects high (useful on machines like ThinkPad W541 for external flashing).
Exact git log
-------------
The following is an exact log of commits in the Git repository, on the master
branch, relative to the previous January 2024 release:
```
* d4d25993 Libreboot 20240225
* 35e5464a config/vendor: fix entry for 9020sff
* 53544ff3 disable hiding peg from mrc on dell 9020
* 7073ba3e Merge pull request 'config/ifd/dell_ivybridge: Add ifd_nogbe' (#188) from nic3-14159/lbmk:add-dell-ivb-ifd-nogbe into master
|\
| * 75c9a2b1 config/ifd/dell_ivybridge: Add ifd_nogbe
|/
* 4680d154 ./update trees -u coreboot
* 0add5571 NEW BOARD: dell 9020 optiplex sff
* 4641d996 Merge pull request 'Add HP EliteBook 8560w, MXM' (#187) from Riku_V/lbmk:hp8560w into master
|\
| * f9ed92e4 Add HP EliteBook 8560w
| * 4a9fca57 Patch SeaBIOS: Add MXM support
* | b7bc713b update pico-serprog to new revision
* | 31849194 Merge pull request 'Add Dell Latitude E5520' (#184) from nic3-14159/lbmk:latitude-ports into master
|\ \
| * | aadfa6bb config: Add Dell Latitude E5520
| * | 381cb119 config/coreboot/default/patches : Renumber E6420, E6520, E5530 patches
|/ /
* | 06933491 coreboot/dell9020mt: disable pcie rebar
* | a8435c4f remove coreboot/dell9020mtvga_12mb
* | 872e3b92 Merge pull request 'update revision: pico-serprog' (#185) from Riku_V/lbmk:master into master
|\|
| * 0e3a5759 update revision: pico-serprog
|/
* 91792c0c update coreboot configs
* 667854de Merge pull request 'Add Latitude E6420, E6520, and E5530' (#183) from nic3-14159/lbmk:latitude-ports into master
|\
| * eee22447 config: Add Dell Latitude E5530
| * a5bfbe4d config: Add Dell Latitude E6520
| * 617f2b88 config: Add Dell Latitude E6420
* | abe33ce0 support making u-boot-only tarballs in releases
* | 8e2e9735 add vga-only 9020 config
* | dfad11f3 NEW BOARD: Dell OptiPlex 9020 MT (and 7020 MT)
* | b2d8e118 import dell optiplex 7020/9020 patch from gerrit
|/
* 0c8fa201 update pico-serprog to Riku's new revision
* 2ad52ed3 Merge pull request 'flashprog: apply the good old MX25 workaround' (#180) from Riku_V/lbmk:master into master
|\
| * 112d2a4e flashprog: apply the good old MX25 workaround
|/
* 77770f5a remove remaining flashrom remnants (use flashprog)
* 36ddd6f6 update parabola dependencies for flashprog
* 182a029f update arch dependencies for flashprog
* e8523864 update trisquel dependencies for flashprog
* 4131981c update debian dependencies for flashprog
* af82d671 config/git: use flashprog instead of flashrom
```
You may find archives of this release, by looking at the Libreboot download
page. Support is available on IRC or Reddit if you need help.
NOTE: As in the previous release, HP 820 G2 images are not provided, because
the inject scripts cannot currently produce a reliable checksum when inserting
vendor files on these boards, due to the non-reproducible way in which the
refcode file is compressed during insertion. Therefore, you
must [build it from source](../docs/build/).

View File

@ -12,7 +12,7 @@ Introduction
implemented, and this page is still relevant for Libreboot 20231021. It applies
to any system that requires vendor code to be inserted inside ROM images.**
(it also applies to Libreboot 20231101, 20231106 and 20240126)
(it also applies to Libreboot 20231101, 20231106, 20240126 and 20240225)
**UPDATE (16 August 2023): This also applies to the recently added Dell
Precision T1650 mainboard.**

View File

@ -2388,7 +2388,7 @@ Reported on T60. Another user reported on X60. Happened when booting from
battery. On the X60 reported, booting with charger connected worked, but
this GRUB error is produced when booting on battery.
Happens in 20240126. Does not happen in 20230625.
Happens in 20240126 and 20240225. Does not happen in 20230625.
A bisect is indicated; possibly in GRUB, but if nothing is found there,
then the bug will be in coreboot. Could be either of them.
@ -2418,3 +2418,42 @@ out of date, for example only goes up to Broadwell even with the out of
tree patches.
Port it to skylake and above.
interesting video
=================
<https://www.youtube.com/watch?v=5qauRh7eTNY>
Automate testing
================
Even though there's lots of error handling, it's better to be paranoid than
brick users' machines.
Unit tests
----------
- Build time or separate?
- me_cleaner -c: checks that ime was inserted and has valid signatures
CI
--
Preferably self-hosted. Run tests for every commit. There could be tests of
different size, and even a periodic nightly release could be done.
Integrating this with an automated test stand would also be doable. At the
very least, it would assure that the ROM images boot successfully.
Board status
============
As the number of ports grows, it becomes harder to keep track of what works.
Let's build a machine-readable repo documenting every release (or commit)
on every board. What features/payloads work, maybe include errata text field.
A HTML report could also be generated and published online.
On top of this, an easy to use installer could be developed. It would know
to not install an unbootable (broken) ROM, and would inform users about any
known problems and have meaningful options.