libreboot 20211122 announcement
This commit is contained in:
parent
3fc7e6d464
commit
ea96cf422c
|
@ -1,4 +1,4 @@
|
||||||
libreboot202111xx.md
|
libreboot20211122.md
|
||||||
libreboot20210522.md
|
libreboot20210522.md
|
||||||
libreboot20160907.md
|
libreboot20160907.md
|
||||||
libreboot20160902.md
|
libreboot20160902.md
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
% Libreboot 20211122 released!
|
||||||
|
% Leah Rowe
|
||||||
|
% 22 November 2021
|
||||||
|
|
||||||
|
Join us now and flash the firmware!
|
||||||
|
===================================
|
||||||
|
|
||||||
|
You'll be free!
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Libreboot is free (as in freedom) boot firmware, which initializes the hardware
|
||||||
|
(e.g. memory controller, CPU, peripherals) in your computer so that software
|
||||||
|
can run. Libreboot then starts a bootloader to load your operating system. It
|
||||||
|
replaces the proprietary BIOS/UEFI firmware typically found on a computer.
|
||||||
|
Libreboot is compatible with specifical computer models that use the Intel/AMD
|
||||||
|
x86 architecture. Libreboot works well with GNU+Linux and BSD operating systems.
|
||||||
|
|
||||||
|
The last Libreboot release, version 20210522, was released on May 22nd
|
||||||
|
in 2021. *This* new release, Libreboot 20211122, is released today on November
|
||||||
|
22nd, 2021. This is yet another *testing* release, so expect there to be some
|
||||||
|
bugs. Every effort has been made to ensure reliability on all boards, however.
|
||||||
|
|
||||||
|
You can find this release in the `testing` directory on Libreboot release
|
||||||
|
mirrors. If you check in the `stable` directory, you'll still only find
|
||||||
|
the 20160907 release in there, so please ensure that you check the `testing`
|
||||||
|
directory!
|
||||||
|
|
||||||
|
This is a *bug fix* release, relative to 20210522. No new boards or major
|
||||||
|
features have been added, but several problems that existed in the previous
|
||||||
|
release have now been fixed.
|
||||||
|
|
||||||
|
Work done since the 20210522 release:
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
* Updated to newer coreboot, SeaBIOS and GRUB versions. The 20210522
|
||||||
|
release was using coreboot 4.14, on most boards, from May 2021. This release
|
||||||
|
is using a coreboot revision from November 2021.
|
||||||
|
* Tianocore dropped from the build system. It was planned that this would be
|
||||||
|
provided in ROM images, but Tianocore is very bloated and buggy, and not
|
||||||
|
worth maintaining. It was supported in the build system, but not actually
|
||||||
|
enabled on any boards. Instead, a future release of Libreboot will include
|
||||||
|
a busybox+linux payload with the u-root bootloader:
|
||||||
|
<https://github.com/u-root/u-root>
|
||||||
|
* New upstream used for SeaBIOS: <https://review.coreboot.org/seabios>
|
||||||
|
* Dummy PIKE2008 option ROM now automatically inserted into ASUS KGPE-D16 and
|
||||||
|
KCMA-D8 ROM images. It is literally an empty file. This disables the option
|
||||||
|
ROM from being loaded, which is known to hang SeaBIOS on these boards.
|
||||||
|
* 16MB configs now available, for more boards. For instance, ThinkPad X60 and
|
||||||
|
T60, ASUS KGPE-D16, etc. It's always possible to upgrade the flash, and
|
||||||
|
information about this is provided in the documentation.
|
||||||
|
* `memtest86+` included on more ROMs by default (where text mode startup is used)
|
||||||
|
* `memtest86+`: Now coreboot's own fork is used, instead of upstream. This fork
|
||||||
|
works much more reliably on coreboot targets, when running on bare metal.
|
||||||
|
* More 16MB configs added, for more boards. This will be finished by the time
|
||||||
|
of the next release. Already, several older laptops such as the ThinkPad X60
|
||||||
|
or T60, have these configs in the latest `lbmk.git`. If you upgrade the
|
||||||
|
default SPI flash to 16MByte / 128MBit (maximum size possible), you can then
|
||||||
|
easily put an entire busybox+linux system in the flash.
|
||||||
|
* `coreboot`: Added persmule's 2016 patch to enable more SATA/eSATA ports on
|
||||||
|
ThinkPad T400. This change benefits T400S users.
|
||||||
|
* `grub.cfg`: LUKS setups are now detected on mdraid setups.
|
||||||
|
* `grub.cfg`: Default timeout changed to 10 seconds, instead of 1. This benefit
|
||||||
|
desktop users, who previously complained about not having time to respond if
|
||||||
|
they wanted to interact with the boot menu.
|
||||||
|
* `grub.cfg`: Performance optimization when scanning for encrypted LUKS volumes.
|
||||||
|
GRUB will stall a lot less often, and feel more responsive, when dealing with
|
||||||
|
LUKS-encrypted setups.
|
||||||
|
* `coreboot`: cstate 3 now supported on MacBook2,1 and Macbook1,1. This results
|
||||||
|
in lower CPU temperatures and higher battery life on idle.
|
||||||
|
* Reset bug fixed, on GM45 platforms (ThinkPad X200/T400/T500 and so on). These
|
||||||
|
laptops did not reliably reboot, on the Libreboot 20210522 testing release.
|
||||||
|
They now reboot reliably, with this fix. See:
|
||||||
|
<https://notabug.org/libreboot/lbmk/issues/3>
|
||||||
|
* `lbmk`: Use `env` instead of hardcoding the bash path, in bash scripts. This
|
||||||
|
should make the build system slightly more portable between distros.
|
||||||
|
* Turkish keyboard layout added on GRUB payloads
|
||||||
|
|
||||||
|
New release schedule under consideration
|
||||||
|
========================================
|
||||||
|
|
||||||
|
The 20210522 release happened to coincide with coreboot 4.14's release, more
|
||||||
|
or less.
|
||||||
|
|
||||||
|
This release also coincides roughly with the coreboot 4.15 release, which came
|
||||||
|
out on November 5th. See:
|
||||||
|
<https://doc.coreboot.org/releases/coreboot-4.15-relnotes.html>
|
||||||
|
|
||||||
|
Coreboot has, since the 4.15 release, decided to release every 3 months instead
|
||||||
|
of every 6. That means the coreboot 4.16 release is planned for February 2022.
|
||||||
|
|
||||||
|
I'm considering this: 2 releases every 3 months, of Libreboot. A testing release
|
||||||
|
and then a fork of that is created, to fix bugs ready for a stable release 3
|
||||||
|
months later, while simultaneously working (in the lbmk master branch) towards
|
||||||
|
another testing release. *If no stable release is available at the same time as
|
||||||
|
a testing release, then delay it if the delay will be minimal, otherwise
|
||||||
|
cancel and abandon that particular stable branch.*
|
||||||
|
|
||||||
|
So: if I do this, the next stable release of Libreboot could be in February
|
||||||
|
2022 based on bug fixes of this November 2021 release, using coreboot 4.15.
|
||||||
|
A testing release could be simultaneously made, with perhaps extra features,
|
||||||
|
and based on coreboot 4.16.
|
||||||
|
|
||||||
|
I'm considering it. In general, I do want Libreboot to be in sync with the
|
||||||
|
coreboot project, but coreboot does not guarantee stability in their releases.
|
||||||
|
Rather, releases are regarded as *milestones* for the coreboot developers to
|
||||||
|
reflect on current developments, and plan the next few months.
|
||||||
|
|
||||||
|
When Libreboot first started, coreboot did not have a fixed release scheduled.
|
||||||
|
It was purely rolling release. Coreboot however has been quite reliable with
|
||||||
|
its own release schedules in the past few years, making it viable for Libreboot
|
||||||
|
to also have a fixed schedule.
|
|
@ -1,147 +0,0 @@
|
||||||
% New Libreboot release soon: ETA November 15th, 2021
|
|
||||||
% Leah Rowe
|
|
||||||
% 9 November 2021
|
|
||||||
|
|
||||||
**UPDATE2 on 16 November 2021**
|
|
||||||
|
|
||||||
**I've decided to abandon the stable release, and do a new testing release (one that is more or less stable in practise) once this bug is fixed. The new testing release will have a newer coreboot release, from November 2021, for all boards.**
|
|
||||||
|
|
||||||
**Stable releases must not be rushed.**
|
|
||||||
|
|
||||||
**UPDATE on 16 November 2021:**
|
|
||||||
|
|
||||||
**I've received reports on IRC that SpeedStep is broken in the Libreboot 20210522 release, on some GM45 laptops; W500 and T400 have been reported.**
|
|
||||||
|
|
||||||
**Since the release I'm working on is based heavily on 20210522, I'm holding back the Libreboot release to get this fixed.**
|
|
||||||
|
|
||||||
The original article, prior to the above update, is as follows:
|
|
||||||
|
|
||||||
Rapid progress is being made on the next release of Libreboot. The overall goal
|
|
||||||
of this upcoming release is stability; development was intentionally frozen
|
|
||||||
after the Libreboot 20210522 testing release, to allow time for people to submit
|
|
||||||
lots of bug reports. Sure enough, people submitted reports.
|
|
||||||
|
|
||||||
I've been fixing bugs and polishing up what's there, ready for another release.
|
|
||||||
You can already build Libreboot from the latest Git repository, and it's known
|
|
||||||
to be stable on all currently supported laptops. Desktops still require a bit
|
|
||||||
more polishing and tweaking.
|
|
||||||
|
|
||||||
Work done so far since the 20210522 release:
|
|
||||||
|
|
||||||
* `memtest86+` included on more ROMs by default (where text mode startup is used)
|
|
||||||
* `memtest86+`: Now coreboot's own fork is used, instead of upstream. This fork
|
|
||||||
works much more reliably on coreboot targets, when running on bare metal.
|
|
||||||
* More 16MB configs added, for more boards. This will be finished by the time
|
|
||||||
of the next release. Already, several older laptops such as the ThinkPad X60
|
|
||||||
or T60, have these configs in the latest `lbmk.git`. If you upgrade the
|
|
||||||
default SPI flash to 16MByte / 128MBit (maximum size possible), you can then
|
|
||||||
easily put an entire busybox+linux system in the flash.
|
|
||||||
* `coreboot`: Added persmule's 2016 patch to enable more SATA/eSATA ports on
|
|
||||||
ThinkPad T400. This change benefits T400S users.
|
|
||||||
* `grub.cfg`
|
|
||||||
* `grub.cfg`: LUKS setups are now detected on mdraid setups.
|
|
||||||
* `grub.cfg`: Default timeout changed to 10 seconds, instead of 1. This benefit
|
|
||||||
desktop users, who previously complained about not having time to respond if
|
|
||||||
they wanted to interact with the boot menu.
|
|
||||||
* `grub.cfg`: Performance optimization when scanning for encrypted LUKS volumes.
|
|
||||||
GRUB will stall a lot less often, and feel more responsive, when dealing with
|
|
||||||
LUKS-encrypted setups.
|
|
||||||
* `coreboot`: cstate 3 now supported on MacBook2,1 and Macbook1,1. This results
|
|
||||||
in lower CPU temperatures and higher battery life on idle.
|
|
||||||
* Reset bug fixed, on GM45 platforms (ThinkPad X200/T400/T500 and so on). These
|
|
||||||
laptops did not reliably reboot, on the Libreboot 20210522 testing release.
|
|
||||||
They now reboot reliably, with this fix. See:
|
|
||||||
<https://notabug.org/libreboot/lbmk/issues/3>
|
|
||||||
* `lbmk`: Use `env` instead of hardcoding the bash path, in bash scripts. This
|
|
||||||
should make the build system slightly more portable between distros.
|
|
||||||
* Turkish keyboard layout added on GRUB payloads
|
|
||||||
|
|
||||||
Further plans
|
|
||||||
-------------
|
|
||||||
|
|
||||||
The only major plans left before the actual release, are as follows:
|
|
||||||
|
|
||||||
* Add more 16MB configs
|
|
||||||
* Re-do desktop/server configs: currently, only text-mode startup is provided
|
|
||||||
and it is assumed that SeaBIOS will be the first payload, then you can use
|
|
||||||
onboard graphics or an add-on graphics card more easily. This is not ideal.
|
|
||||||
The configs will be split: corebootfb and textmode startup, or "normal" where
|
|
||||||
there is no video init from coreboot, and instead an option ROM can be loaded
|
|
||||||
from a graphics card.
|
|
||||||
* Random documentation improvements, especially the addition of ThinkPad X301
|
|
||||||
and G43T-AM3 documentation.
|
|
||||||
|
|
||||||
PS:
|
|
||||||
|
|
||||||
As some of you know, I run a company at <https://minifree.org/> selling laptops
|
|
||||||
with Libreboot pre-installed on them.
|
|
||||||
|
|
||||||
Although the new stable release isn't out yet, what's currently in the Libreboot
|
|
||||||
git repository is stable, as of November 3rd, 2021. Until that release comes
|
|
||||||
out, I'm giving customers a version of Libreboot build from `lbmk.git`. I will
|
|
||||||
immediately switch to the stable release when it comes out, but the only thing
|
|
||||||
that will change basically is the version number and build date printed by
|
|
||||||
the `lscoreboot` command in GRUB. I'm making no further changes to the laptops
|
|
||||||
until after the upcoming release.
|
|
||||||
|
|
||||||
Plans for after release
|
|
||||||
=======================
|
|
||||||
|
|
||||||
After the next stable release, I have the following immediate plans:
|
|
||||||
|
|
||||||
* Add a lot more boards from coreboot, because there are a lot more boards
|
|
||||||
ready to add in Libreboot. Mostly x4x intel platforms, same as on the Gigabyte
|
|
||||||
GA-G41M-ES2L board.
|
|
||||||
* u-root based boot experience (see below about BusyBox+Linux+Musl)
|
|
||||||
|
|
||||||
That's for 2021. The purpose of my 2021 efforts has been to reboot the Libreboot
|
|
||||||
project, adding all viable x86 targets from coreboot, and adding some nice
|
|
||||||
features. The upcoming stable release will be during November 2021, and I plan
|
|
||||||
to have the next stable release afterwards, released on 2 January 2022, but
|
|
||||||
with a possible early December or late November testing release inbetween.
|
|
||||||
|
|
||||||
The work never ends. From 2022 onwards, my focus will shift towards non-x86
|
|
||||||
targets. ARM and RISC-V are becoming increasingly more viable for the Libreboot
|
|
||||||
project these days, and I want to take advantage of that.
|
|
||||||
|
|
||||||
BusyBox+Linux+Musl
|
|
||||||
------------------
|
|
||||||
|
|
||||||
I've been studying Heads, LinuxBoot and coreboot's LinuxBoot integration.
|
|
||||||
I'm attempting to create my own busybox+linux distro, with musl libc, similar
|
|
||||||
to these projects. I want to do this so that I can provide u-root on 16MB ROM
|
|
||||||
configs in Libreboot.
|
|
||||||
|
|
||||||
Coreboot's own build system has a Makefile in it, defining how to build
|
|
||||||
LinuxBoot. LinuxBoot is another such distro.
|
|
||||||
|
|
||||||
u-root is a powerful bootloader written in Go, which runs in a minimal busybox
|
|
||||||
and linux environment. It provides many of the same features as GNU GRUB, while
|
|
||||||
also providing kexec based loading of Linux kernels. Because it's running on
|
|
||||||
a Linux kernel, that also means you get superior drivers. For example, Linux
|
|
||||||
has very mature LUKS drivers, but GRUB does not. Linux also has great netboot
|
|
||||||
features. u-root also implements a minimal UEFI environment.
|
|
||||||
|
|
||||||
More info here:
|
|
||||||
|
|
||||||
<https://github.com/u-root/u-root>
|
|
||||||
|
|
||||||
Info about LinuxBoot:
|
|
||||||
|
|
||||||
<https://www.linuxboot.org/>
|
|
||||||
|
|
||||||
In the future, I want u-root to become a standard feature in Libreboot. This
|
|
||||||
will not make it into the upcoming stable release, but I plan to put it in a
|
|
||||||
testing release afterwards.
|
|
||||||
|
|
||||||
oreboot project
|
|
||||||
---------------
|
|
||||||
|
|
||||||
Oreboot is a special fork of coreboot, re-written in Rust. Coreboot without C,
|
|
||||||
hence Oreboot. It focuses on RISC-V hardware:
|
|
||||||
|
|
||||||
<https://github.com/oreboot>
|
|
||||||
|
|
||||||
However, coreboot will still be used for most targets, including the current
|
|
||||||
x86 targets. I plan to integrate oreboot at a future date, separately, for
|
|
||||||
a few boards.
|
|
Loading…
Reference in New Issue