Merge branch 'master' into polish-cn-translation
commit
64584fd7d3
|
@ -455,7 +455,7 @@ example of the push pin as a proof of concept:
|
||||||
|
|
||||||
[You must flash it externally](spi.md)
|
[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
|
**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
|
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)
|
(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
|
**NOTE: This section partially relates to `utils` release archive in
|
||||||
Libreboot 20160907, which contains static compiled binaries for things like
|
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
|
still referenced here. The `flash` script in that release can be used, with
|
||||||
modern Libreboot ROMs. Current Libreboot releases do not include pre-compiled
|
modern Libreboot ROMs. Current Libreboot releases do not include pre-compiled
|
||||||
utilities, only ROMs.**
|
utilities, only ROMs.**
|
||||||
|
@ -487,7 +494,7 @@ X60 BIOS password (Lenovo): you might find info here:
|
||||||
<https://bios-pw.org/>
|
<https://bios-pw.org/>
|
||||||
|
|
||||||
You can just get bucts from the libreboot project, same thing for the patched
|
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
|
has statically compiled executables. They still work just fine on modern
|
||||||
systems, and they can be used for this purpose.
|
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
|
and you will run it at 115200 baud rate. agetty/fgetty in Linux can give
|
||||||
you a serial console in your OS)
|
you a serial console in your OS)
|
||||||
|
|
||||||
Download and build flashprog, using the instructions
|
You can replace Lenovo BIOS with libreboot, using flashrom running on the host
|
||||||
on [the Git page](../../git.md), and download the `bucts` software using the
|
CPU. However, there are some considerations. NOTE: needs patching for SST
|
||||||
notes on that very same page.
|
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,
|
||||||
You can replace Lenovo BIOS with libreboot, using flashprog running on the host
|
which contains this patch - and static binaries are provided, for convenience;
|
||||||
CPU. However, there are some considerations.
|
they will still work, due to libs being statically linked.
|
||||||
|
|
||||||
Firstly, make sure that the yellow CMOS battery is installed, and functioning
|
Firstly, make sure that the yellow CMOS battery is installed, and functioning
|
||||||
correctly. You could check the voltage. The battery is a CR2032
|
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).
|
CMOS memory).
|
||||||
|
|
||||||
Lenovo BIOS restricts write access, but there is a weakness in it. With a
|
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
|
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
|
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*.
|
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
|
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.
|
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:
|
binaries:
|
||||||
|
|
||||||
* `flashprog`
|
* `flashrom`
|
||||||
* `flashprog_i945_sst`
|
* `flashrom_i945_sst`
|
||||||
* `flashprog_i945_mx`
|
* `flashrom_i945_mx`
|
||||||
|
|
||||||
It's these last two binaries that you should use. Now compile bucts (just
|
It's these last two binaries that you should use. Now compile bucts (just
|
||||||
run `make` in the bucts source directory).
|
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
|
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
|
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
|
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.
|
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:
|
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
|
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:
|
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
|
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.
|
panic. Shut down now, and wait a few seconds, then turn back on again.
|
||||||
|
|
||||||
**WARNING: if flashprog complains about `/dev/mem` access, please
|
**WARNING: if flashrom (from Libreboot 20160907 utils) complains
|
||||||
run `sudo ./bucts 0`. If flashprog is complaining about `/dev/mem`, it means
|
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
|
that you have `CONFIG_STRICT_DEVMEM` enabled in your kernel. Reboot with the
|
||||||
following kernel parameter added in your bootloader: `iomem=relaxed` and try
|
following kernel parameter added in your bootloader: `iomem=relaxed` and try
|
||||||
again with the above instructions. DO NOT continue until the above works, and
|
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
|
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
|
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
|
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
|
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.
|
volatile memory, powered by that CR2032 coin-cell battery.
|
||||||
|
|
||||||
Assuming that everything went well:
|
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
|
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:
|
64KiB bootblock is now read-write. Use the *unpatched* flashprog binary:
|
||||||
|
|
||||||
sudo ./flashprog -p internal -w libreboot.rom
|
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:
|
To reset bucts, do this:
|
||||||
|
|
||||||
sudo ./bucts 0
|
sudo ./bucts 0
|
||||||
|
|
|
@ -31,13 +31,13 @@ LIBREBOOT](news/safety.md).**
|
||||||
GPG signing key
|
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
|
### NEW KEY
|
||||||
|
|
||||||
Full key fingerprint: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
|
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
|
all Libreboot releases from the year 2024, and it will expire (unless revoked
|
||||||
early) on 26 December 2028.
|
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`
|
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
|
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
|
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)
|
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}
|
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.
|
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}
|
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
|
WARNING: these mirrors are non-HTTPS which means that they are
|
||||||
unencrypted. Your traffic could be subject to interference by
|
unencrypted. Your traffic could be subject to interference by
|
||||||
|
@ -188,7 +188,7 @@ if using HTTPS.
|
||||||
FTP mirrors {#ftp}
|
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.
|
WARNING: FTP is also unencrypted, like HTTP. The same risks are present.
|
||||||
|
|
||||||
|
|
|
@ -31,13 +31,13 @@ LIBREBOOT](news/safety.md).**
|
||||||
Код підпису GPG
|
Код підпису GPG
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
**Останнім випуском є Libreboot 20240126, в директорії `testing`.**
|
**Останнім випуском є Libreboot 20240225, в директорії `testing`.**
|
||||||
|
|
||||||
### НОВИЙ КЛЮЧ
|
### НОВИЙ КЛЮЧ
|
||||||
|
|
||||||
Повний відбиток ключа: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
|
Повний відбиток ключа: `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
|
is applicable to any release made on or after the date: 28 December 2023. It
|
||||||
will expire on 26 December 2028.
|
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`
|
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||||
|
|
||||||
This key is for Libreboot releases *after* the 20160907 release, and up
|
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
|
so you should use the *newer* key (see above) for the releases after
|
||||||
Libreboot 20240126.
|
Libreboot 20240225.
|
||||||
|
|
||||||
Завантажте ключ тут: [lbkey.asc](lbkeyold.asc)
|
Завантажте ключ тут: [lbkey.asc](lbkeyold.asc)
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ Libreboot 20240126.
|
||||||
Дзеркала HTTPS {#https}
|
Дзеркала HTTPS {#https}
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
**Останнім випуском є Libreboot 20240126, в директорії `testing`.**
|
**Останнім випуском є Libreboot 20240225, в директорії `testing`.**
|
||||||
|
|
||||||
Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування.
|
Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування.
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ crontab. Ця сторінка розповідає вам, як викорис
|
||||||
Дзеркала HTTP {#http}
|
Дзеркала HTTP {#http}
|
||||||
------------
|
------------
|
||||||
|
|
||||||
**Останнім випуском є Libreboot 20240126, під директорією `testing`.**
|
**Останнім випуском є Libreboot 20240225, під директорією `testing`.**
|
||||||
|
|
||||||
УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
|
УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
|
||||||
незашифровані. Ваш трафік може бути об'єктом втручання
|
незашифровані. Ваш трафік може бути об'єктом втручання
|
||||||
|
@ -188,7 +188,7 @@ crontab. Ця сторінка розповідає вам, як викорис
|
||||||
Дзеркала FTP {#ftp}
|
Дзеркала FTP {#ftp}
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
**Останнім випуском є Libreboot 20240126, під директорією `testing`.**
|
**Останнім випуском є Libreboot 20240225, під директорією `testing`.**
|
||||||
|
|
||||||
УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.
|
УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.
|
||||||
|
|
||||||
|
|
|
@ -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
|
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||||
Minifree; sales provide funding for Libreboot.
|
Minifree; sales provide funding for Libreboot.
|
||||||
|
|
||||||
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20240126, veröffentlicht
|
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20240225, veröffentlicht
|
||||||
am 26. January 2024.
|
am 25. February 2024.
|
||||||
Siehe auch: [Libreboot 20240126 release announcement](news/libreboot20240126.md).**
|
Siehe auch: [Libreboot 20240225 release announcement](news/libreboot20240225.md).**
|
||||||
|
|
||||||
Warum solltest Du *Libreboot* verwenden?
|
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
|
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
|
möchtest um das ROM Image vorzubereiten. Mithilfe von *Libreboot* kannst Du
|
||||||
sprichwörtlich von Git oder einem anderen Quell-Archiv herunterladen, anschliessend
|
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
|
Eingaben oder Eingreifen von Nöten sind. Die Konfiguration wurde bereits im
|
||||||
Vorfeld erledigt.
|
Vorfeld erledigt.
|
||||||
|
|
||||||
|
|
|
@ -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
|
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||||
Minifree; sales provide funding for Libreboot.
|
Minifree; sales provide funding for Libreboot.
|
||||||
|
|
||||||
**NOUVELLE VERSION: La dernière version est [Libreboot 20240126](news/libreboot20240126.md), sortie
|
**NOUVELLE VERSION: La dernière version est [Libreboot 20240225](news/libreboot20240225.md), sortie
|
||||||
le 26 January 2024.**
|
le 25 February 2024.**
|
||||||
|
|
||||||
Pourquoi devriez-vous utiliser *Libreboot*?
|
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
|
de Coreboot, GRUB et n'importe quel autre logiciel dont vous avez besoin
|
||||||
afin de préparer la ROM. Avec *Libreboot*,
|
afin de préparer la ROM. Avec *Libreboot*,
|
||||||
vous pouvez télécharger la source depuis Git ou une archive, exécuter
|
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
|
automatisé de Libreboot nommé `lbmk` (Libreboot MaKe), compile ces images
|
||||||
ROM automatiquement, sans besoin d'entrées utilisateur or intervention
|
ROM automatiquement, sans besoin d'entrées utilisateur or intervention
|
||||||
requise. La configuration est faite à l'avance.
|
requise. La configuration est faite à l'avance.
|
||||||
|
|
|
@ -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
|
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||||
Minifree; sales provide funding for Libreboot.
|
Minifree; sales provide funding for Libreboot.
|
||||||
|
|
||||||
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20240126, rilasciato il 26 January 2024.
|
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20240225, rilasciato il 25 February 2024.
|
||||||
Vedi: [Libreboot 20240126 annuncio di rilascio](news/libreboot20240126.md).**
|
Vedi: [Libreboot 20240225 annuncio di rilascio](news/libreboot20240225.md).**
|
||||||
|
|
||||||
Per quale ragione utilizzare *Libreboot*?
|
Per quale ragione utilizzare *Libreboot*?
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
@ -66,7 +66,7 @@ compilazione automatico di Libreboot.
|
||||||
Esattamente come *Alpine Linux* e' una *distribuzione Linux*, Libreboot e' una
|
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
|
*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*,
|
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,
|
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
|
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.
|
interventi da parte dell'utente. Le configurazioni di base sono gia' state previste in precedenza.
|
||||||
|
|
|
@ -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
|
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||||
Minifree; sales provide funding for Libreboot.
|
Minifree; sales provide funding for Libreboot.
|
||||||
|
|
||||||
**NEW RELEASE: The latest release is Libreboot 20240126, released on
|
**NEW RELEASE: The latest release is Libreboot 20240225, released on
|
||||||
26 January 2024.
|
25 February 2024.
|
||||||
See: [Libreboot 20240126 release announcement](news/libreboot20240126.md).**
|
See: [Libreboot 20240225 release announcement](news/libreboot20240225.md).**
|
||||||
|
|
||||||
*We* believe the freedom to [study, share, modify and use
|
*We* believe the freedom to [study, share, modify and use
|
||||||
software](https://writefreesoftware.org/), without any
|
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
|
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
|
otherwise have to perform expert-level configuration of coreboot, GRUB and
|
||||||
whatever other software you need, to prepare the ROM image. With *Libreboot*,
|
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
|
you can literally download from Git or a source archive, and run a simple script,
|
||||||
will build entire ROM images. An automated build system, named `lbmk`
|
and it will build entire ROM images. An automated build system, named `lbmk`
|
||||||
(Libreboot MaKe), builds these ROM images automatically, without any user input
|
(Libreboot MaKe), builds these ROM images automatically, without any user input
|
||||||
or intervention required. Configuration has already been performed in advance.
|
or intervention required. Configuration has already been performed in advance.
|
||||||
|
|
||||||
|
|
|
@ -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
|
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||||
Minifree; sales provide funding for Libreboot.
|
Minifree; sales provide funding for Libreboot.
|
||||||
|
|
||||||
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20240126, випущено 26 січень 2024.
|
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20240225, випущено 25 лютий 2024.
|
||||||
Дивіться: [Оголошення про випуск Libreboot 20240126](news/libreboot20240126.md).**
|
Дивіться: [Оголошення про випуск Libreboot 20240225](news/libreboot20240225.md).**
|
||||||
|
|
||||||
Чому вам варто використовувати *Libreboot*?
|
Чому вам варто використовувати *Libreboot*?
|
||||||
----------------------------
|
----------------------------
|
||||||
|
@ -61,7 +61,7 @@ Coreboot помітно складний для встановлення для
|
||||||
*дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам
|
*дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам
|
||||||
інакше довелось би виконати налаштування експертного рівня coreboot, GRUB та
|
інакше довелось би виконати налаштування експертного рівня coreboot, GRUB та
|
||||||
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *Libreboot*,
|
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *Libreboot*,
|
||||||
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити `make`, і це
|
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити a script, і це
|
||||||
побудує всі образи ROM. Автоматизована система побудови, названа `lbmk`
|
побудує всі образи ROM. Автоматизована система побудови, названа `lbmk`
|
||||||
(Libreboot MaKe), збирає ці образи ROM автоматично, без будь-якого вводу користувача
|
(Libreboot MaKe), збирає ці образи ROM автоматично, без будь-якого вводу користувача
|
||||||
або потрібного втручання. Налаштування вже виконано заздалегідь.
|
або потрібного втручання. Налаштування вже виконано заздалегідь.
|
||||||
|
|
|
@ -12,7 +12,7 @@ x-toc-enable: true
|
||||||
Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者;
|
Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者;
|
||||||
销售电脑为 Libreboot 提供资金。
|
销售电脑为 Libreboot 提供资金。
|
||||||
|
|
||||||
**新版发布: 最新版本 Libreboot 20240126 已在 2024 年 01 月 24 日发布。详见: [Libreboot 20240126 发布公告](news/libreboot20240126.md).**
|
**新版发布: 最新版本 Libreboot 20240225 已在 2024 年 02 月 25 日发布。详见: [Libreboot 20240225 发布公告](news/libreboot20240225.md).**
|
||||||
|
|
||||||
为什么要使用 *Libreboot*?
|
为什么要使用 *Libreboot*?
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
libreboot20240225.md
|
||||||
ports202402.md
|
ports202402.md
|
||||||
sourcehut.md
|
sourcehut.md
|
||||||
libreboot20240126.md
|
libreboot20240126.md
|
||||||
|
|
|
@ -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/).
|
|
@ -12,7 +12,7 @@ Introduction
|
||||||
implemented, and this page is still relevant for Libreboot 20231021. It applies
|
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.**
|
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
|
**UPDATE (16 August 2023): This also applies to the recently added Dell
|
||||||
Precision T1650 mainboard.**
|
Precision T1650 mainboard.**
|
||||||
|
|
|
@ -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
|
battery. On the X60 reported, booting with charger connected worked, but
|
||||||
this GRUB error is produced when booting on battery.
|
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,
|
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.
|
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.
|
tree patches.
|
||||||
|
|
||||||
Port it to skylake and above.
|
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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue