Censored Libreboot c20230710 released!

Leah Rowe

10 July 2023


Return to index

Article published by: Leah Rowe

Date of publication: 10 July 2023

Warning

This release is not recommended for general use. You should still use the recent Libreboot 20230625 release, which is the current stable release. Please also read the Binary Blob Reduction Policy.

The exact changes that created this Censored Libreboot release can be found here:

There is an entire version of the Libreboot site, made specifically for this release: https://censored.libreboot.org/

Introduction

Libreboot provides boot firmware for supported x86/ARM machines, starting a bootloader that then loads your operating system. It replaces proprietary BIOS/UEFI firmware on x86 machines, and provides an improved configuration on ARM-based chromebooks supported (U-Boot bootloader, instead of Google’s depthcharge bootloader). On x86 machines, the GRUB and SeaBIOS coreboot payloads are officially supported, provided in varying configurations per machine. It provides an automated build system for the configuration and installation of coreboot ROM images, making coreboot easier to use for non-technical people. You can find the list of supported hardware in Libreboot documentation.

Libreboot’s main benefit is higher boot speed, better security and more customisation options compared to most proprietary firmware. As a libre software project, the code can be audited, and coreboot does regularly audit code. The other main benefit is freedom to study, adapt and share the code, a freedom denied by most boot firmware, but not Libreboot! Booting Linux/BSD is also well supported.

Context

Libreboot previously complied with GNU FSDG policy, banning (removing) all binary blobs from coreboot. Coreboot requires binary blobs on a lot of boards, though it does provide something very close to full freedom on a lot of them, so the old Libreboot policy resulted in very weak hardware support.

Libreboot, in regular releases, adopted a more pragmatic Binary Blob Reduction Policy in November 2022, with the aim of providing support for a lot more hardware (the goal is to support everything coreboot supports), while reducing the impact (in terms of security and reliability) that certain binary blobs have; for example, it automatically uses me_cleaner during build time, to disable Intel ME after bringup, on newer Intel platforms that require Intel ME.

This new release, Censored Libreboot c20230710, released today 10 July 2023, is a special spin-off of Libreboot based on the 20230625 release, provided as a proof of concept; it shows what state the Libreboot project would likely be in, if it never adopted the new Binary Blob Reduction Policy. A lot of mainboards and documentation has been removed (censored), in this version, hence the name: Censored Libreboot. More information available here: https://censored.libreboot.org/censorship.html

You can find out about the current status of binary blobs, on the Freedom Status page. It describes how Libreboot policy is implemented, in great detail.

A note about the changelog

There are going to be two changelogs written in this page: one in reference to the recent Libreboot 20230625 release, showing what was removed (censored).

Then, after that, a separate changelog will be provided in this article, in reference to the Libreboot 20220710 release, while ignoring any changes since then that do not comply with the old Libreboot policy, which you can read here. In other words, this will be the censored changelog.

This release announcement is mirrored on the Censored Libreboot website, but heavily censored to reflect only the latter changelog, written as though Libreboot never changed its policies; in other words, it’s a view into a parallel universe, another reality. You can read that censored announcement here:

https://censored.libreboot.org/news/censored-libreboot20230710.html

Build from source

This release was build-tested on Debian Sid, as of 9 July 2023. Your mileage may vary, with other distros. Refer to Libreboot documentation.

KFSN4-DRE, KCMA-D8, KGPE-D16 re-added

FUN FACT: This includes building of ASUS KFSN4-DRE, KCMA-D8 and KGPE-D16 boards, which were re-added based on coreboot 4.11_branch. ROM images are provided for these boards, in this Libreboot release. The toolchain in this coreboot version would not build on modern Linux, so I spent time patching it. I want to use coreboot 4.11_branch to study code differences between the D8 and D16 boards, which are mostly otherwise identical code-wise, so that I can port KCMA-D8 to Dasharo, and then use that for D8/D16 in Libreboot. Dasharo is based on a much newer coreboot version, with many new fixes/features.

I won’t be adding this release’s D8/D16/DRE support to the master branch of Libreboot, because coreboot 4.11_branch is horribly out of date; I will add these boards there, after I’ve integrated the Dasharo version of coreboot.

Uncensored changelog, relative to Libreboot 20230625

NOTE: this page lists code changes in Censored Libreboot. For website and documentation changes, please read the following document: https://censored.libreboot.org/censorship.html

You can actually view the changes yourself, in great detail, by looking at these special branches of lbmk.git (build system) and lbwww.git (Libreboot website files, markdown):

I’ve implemented this Censored Libreboot release, in these special branches. These changes are not (and will not be) merged in the master branches.

Removed mainboard support

These mainboards are not supported in Censored Libreboot, and have been removed (regular Libreboot does support them):

All of the above mainboards have fully libre, zero-blob initialisation code available in coreboot, and that code is used by Libreboot. However, the flash is divided into regions (partitions), namely: IFD(config), GBE(config), ME(Intel ME firmware), BIOS(coreboot firmware).

The Ifd/GbE regions are not software, and their format is well-documented. Libreboot even includes utilities that can re-configure them!

The ME is configured via me_cleaner, automatically by Libreboot’s build system, in such a way that the Intel ME initialises itself, and then does nothing. In other words, it is disabled. More information about all of this is explained in the Freedom Status page.

Removed/modified code, in the build system

Here is an overview of the code changes in lbmk:

It’s not actually a lot of code that was removed. The actual diff that did this is very large, because it also removed the coreboot configs for the removed boards, and those configs are very large. The diff is about 40,000 deleted lines. Fourty thousand.

Censored changelog, relative to Libreboot 20220710

Libreboot 20220710 was the last regular Libreboot release to comply with the old Binary Blob Extermination Policy adhering to GNU FSDG ideology. Between then and now, there have been these releases of Libreboot that follow the new Binary Blob Reduction Policy: 20221214, 20230319, 20230413, 20230423 and 20230625.

However, the purpose of Censored Libreboot is to provide a glimpse of what Libreboot would be like, had it kept the old policy. The website for Censored Libreboot has its own version of this release announcement, with only this censored version of the changelog present. You can view that here:

https://censored.libreboot.org/news/censored-libreboot20230710.html

The following changelogs cherry-pick only the old-policy-compliant changes from the above listed Libreboot release announcements:

New mainboards supported

These laptops would have been compatible with Libreboot, under the old policy, and they were added in recent regular releases of Libreboot:

Build system changes

This is not intended to be an exhaustive list. It is a high-level overview. For more details, you should always check the log in lbmk.git.

All of these changes are present in regular Libreboot releases, but these are the changes from regular Libreboot that would have complied with the old Libreboot policy:

The number of changes are vast, too big to be readable on a release announcement. Again, I say: check log in lbmk.git.

Hardware supported in Censored Libreboot c20230710

All of the following are believed to boot, but if you have any issues, please contact the Libreboot project. They are:

Servers (AMD, x86)

Desktops (AMD, Intel, x86)

Laptops (Intel, x86)

Laptops (ARM, with U-Boot payload)

Downloads

You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check another one if your favourite one doesn’t have it.

This censored version is in the directory named censored, on Librbeoot rsync and https mirrors. For example:

https://www.mirrorservice.org/sites/libreboot.org/release/censored/c20230710/

tl;dr yes, I made this special release of Libreboot specifically so that I could crap all over it. Any project that tries (whether or not they succeed) to replicate the old Libreboot project (as illustrated by this special release of Libreboot) are doing themselves, and their users, a major disservice by providing completely inferior firmware, and mostly on very outdated hardware that normal people don’t want to use.

Ideological purity is all well and good, but you have to meet people where they’re at. If someone approaches you with hardware that can have certain proprietary code replaced (thus increasing software freedoms), they should be accomodated, and Libreboot’s mission is to do exactly that. We believe passionately in free software, and we want everyone to use it!

Coreboot is one of humanity’s greatest achievements. It should be respected, not shunned. All coreboot ports are valid, and Libreboot will eventually assimilate all of them.

Markdown file for this page: https://libreboot.org/news/censored-libreboot20230710.md

Site map

This HTML page was generated by the untitled static site generator.