Project

General

Profile

Freedom Issue #3345

[seabios] Contains configs for nonfree software, and potential blobs

gap - over 1 year ago - . Updated over 1 year ago.

Status:
not-a-bug
Priority:
bug
Assignee:
-
% Done:

0%


Description

The package source list contains configs for Coreboot (which contains blobs and should be replaced with Libreboot) and VMWare (which is nonfree), amongst other configs which may be for nonfree software.

The source files also contain long hex arrays which were auto-generated, but I'm not sure how, so they might be blobs, e.g.
https://github.com/coreboot/seabios/blob/master/src/fw/acpi-dsdt.hex

History

#1

Updated by wael over 1 year ago

One potential solution as gap mentioned is pulling the code from Libreboot, but that would need someone familiar enough with lbmk to do it.

#2

Updated by GNUtoo over 1 year ago

  • Status changed from unconfirmed to not-a-bug

Being compatible with Coreboot or VMware is not necessarily an issue.

Parabola is compatible with nonfree BIOS and UEFI for instance and it even runs software from them like nonfree software ACPI tables, nonfree bytecode in the video BIOS etc.

But it's not Parabola that provides that software, in fact it's already there in the mainboard and/or GPU.

This also why we need RYF hardware combined with FSDG distributions.

I've tried to address that here: https://wiki.parabola.nu/How_does_Parabola_protects_users_against_nonfree_software

As for the arrays, the source code seem to be in src/fw/*.dsl inside SeaBIOS (The Makefile has rules about it, especially the iasl rule and the one right before).

Once it is compiled (with iasl) it's transformed into some array probably to be included in the binary in a simple way (this way it's compatible with most compilers and you don't need linker scripts and so on).

As for the Coreboot source code itself (which is completely separate from SeaBIOS), it has issues such as included microcode, ACPI tables that need to be decompiled, SMU firmwares and so on, so we don't use code from Coreboot as-is and the best way to get code from Coreboot is indeed to use lbmk/Libreboot.

The libreboot-utils package is an example of how to use Coreboot code through Libreboot deblobbed source code releases.

Also available in: Atom PDF