Canoeboot 20231026 released! (new FSDG-aligned, blob-free, 100% Free Software coreboot distro, forked from Libreboot)

3 respostas [Última entrada]
libreleah
Desconectado
Joined: 04/03/2017

Hello everyone,

I'm pleased to announce the recent launch of *Canoeboot*, which is a new spinoff project that I've made based on Libreboot. Canoeboot provides completely free boot firmware, replacing proprietary BIOS/UEFI firmware on select ARM/x86 mainboards. It uses coreboot to initialise the memory controller, CPU, peripherals and so on, then jumping to a payload such as SeaBIOS or GNU GRUB, which can then load a free operating system such as GNU+Linux or the BSDs.

The project website is here: https://canoeboot.org/

And the first release is here: https://canoeboot.org/news/canoeboot20231026.html

This is forked directly from the Libreboot 20231021 release that came out on 21 October 2023; the Canoeboot 20231026 release was created on 26 October 2023. The difference is that Canoeboot implements the GNU Free System Distribution Guidelines as policy, so it is completely blob-free in the main boot flash.

It provides several unique features inherited from the recent Libreboot release, such as:

* Argon2 support in GRUB, allowing full LUKS2 support (can now use encrypted /boot on fully encrypted disks)

* Latest U-Boot 2023.10 revision, which replaces Google's "Depthcharge" bootloader on select ARM-based chromebooks (gru_bob and gru_kevin); U-Boot natively provides UEFI, which is compatible with many more distros, particularly Arch- and Debian-based distros such as Parabola or Trisquel (for example), if they use a UEFI-capable bootloader on ARM such as GNU GRUB.

(on the default Depthcharge bootloader, installing anything other than ChromeOS is much harder. the U-Boot integration makes it much easier)

* Based on very recent coreboot revision on most boards (12 October 2023 revision)

* The build system can also build serprog firmware images, for STM32- and RP2040-based MCUs. These tiny boards can be used to create cheap SPI flashers very easily, and that's what they're used for with Canoeboot.

* Inherits the vast amount of improvements in the Libreboot build system, from the *three* intense audits done throughout 2023 on Libreboot. The build system is extremely efficient and can reliably build coreboot images very easily. More information available in the documentation: https://canoeboot.org/docs/maintain/ - the purpose of Canoeboot is to provide automated building and installation of coreboot ROM images on supported hardware.

Many more features and additions are described in the linked changelog.

TL;DR this is essentially an up-to-date fork of Libreboot. I maintain it myself, alongside Libreboot, and I will continue to do so from now on.

Machines supported in this release are as follows:

Servers (AMD, x86)[link]

ASUS KFSN4-DRE motherboard

ASUS KGPE-D16 motherboard

Desktops (AMD, Intel, x86)

Gigabyte GA-G41M-ES2L motherboard

Acer G43T-AM3

Intel D510MO and D410PT motherboards

Apple iMac 5,2

ASUS KCMA-D8 motherboard

Laptops (Intel, x86)

Dell Latitude E6400 (easy to flash, no disassembly, similar hardware to X200/T400)

ThinkPad X60 / X60S / X60 Tablet

ThinkPad T60 (with Intel GPU)

Lenovo ThinkPad X200 / X200S / X200 Tablet

Lenovo ThinkPad X301

Lenovo ThinkPad R400

Lenovo ThinkPad T400 / T400S

Lenovo ThinkPad T500

Lenovo ThinkPad W500

Lenovo ThinkPad R500

Apple MacBook1,1 and MacBook2,1

Laptops (ARM, with U-Boot payload)

ASUS Chromebook Flip C101 (gru-bob)

Samsung Chromebook Plus (v1) (gru-kevin)

strypey
Desconectado
Joined: 05/14/2015

libreleah:
> The difference is that Canoeboot implements the GNU Free System Distribution Guidelines as policy, so it is completely blob-free in the main boot flash.

When did LibreBoot stop being libre, and why?!?

libreleah
Desconectado
Joined: 04/03/2017

Read this page for context: https://libreboot.org/news/policy.html

And this: https://libreboot.org/freedom-status.html

Libreboot is still libre, in that it provides blob-free configurations whenever feasible on a given mainboard, but it now also permits more boards from coreboot, with a *binary blob reduction* policy; this policy stipulates that if a blob can be avoided, it should be avoided, but otherwise mitigate its inclusion e.g. use me_cleaner to disable the intel ME early in the boot process.

Essentially, Libreboot carries on spiritually from OSBoot. The Libreboot and OSBoot projects merged, on 16 November 2022. Canoeboot is a continuation of Libreboot, under the old FSDG policy.

libreleah
Desconectado
Joined: 04/03/2017

Hi

New bugfix release:

https://canoeboot.org/news/canoeboot20231101.html

i945 bootblock copy: during ROM building, the bootblock must be copied from the main 64KB block, to the backup block, for use with bucts, but this wasn’t done in the last release; this regression has now been fixed.

Re-add SeaGRUB support - enabled on Dell Latitude E6400.

Export LC_COLLATE and LC_ALL, setting it to C, to ensure consistent sorting; the Canoeboot build system heavily relies on sorting by alphanumerical order with numbers and capital letters first, e.g. when applying patches.

GRUB config: Re-wrote the text on some entries to make them easier to understand for novice users.

GRUB: Don’t spew the “Unknown key” message on unknown/invalid key presses - otherwise, a faulty keyboard with stuck keys will make the message spew repeatedly, making GRUB unusable.
Revert a heapsize patch in coreboot that broke S3 suspend/resume in some boards - if you do have issues, please send a bug report.

Dell Latitude E6400: fixed keyboard initialisation in GRUB. GRUB was using scancode set 2 without translation. The EC on Dell Latitude E6400 allows to set the scancodes and reports back what you set, but only ever actually uses scancode set 1 (XT) - so, the fix makes GRUB always use set 2 with translation (treated as 1). This is the same behaviour used in SeaBIOS. This fixes the machine in GRUB, and doesn’t break other boards as per testing.

Fix coldboot on Dell Latitude E6400, courtesy of a patch by Angel Pons (IRC inick hell on coreboot IRC) - previously, this machine booted unreliably, though reboot was fine. Angel wrote a patch for another board, that also works on the E6400 quite nicely.

QEMU ARM64: video console now enabled in U-Boot (courtesy Alper Nebi Yasak)

Dependencies scripts: updated a few of them, for newer versions of distros.