I read it's about replacing the firmware on a board, but why do they need to do this, and does it effect the ability to install other OSs on the board?

  • 1
    Coreboot and especially LibreBoot is about Freedom and privacy, having a computing environment free of proprietary blobs/code. Unfortunately, recent Intel processors do no lend themselves very well to that. – Rui F Ribeiro Feb 10 at 18:46

As described on the Wikipedia page:

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware (BIOS or UEFI) found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

Essentially, it is an initiative aimed at 'opening up' and simplifying the firmware level of modern computers. I believe as much of it as possible is free software; however, binary blobs are required for it to operate on some hardware devices. Libreboot is a version of Coreboot that is completely de-blobbed and therefore 100% free software. However, because of this, Libreboot will only work on a more restrictive subset of hardware.

Why would someone want to use Coreboot? I can think of several reasons:

If they are interested in getting involved with PC firmware development, then they might want to switch their proprietary firmware for Coreboot, as it is Open Source. That way (similar to GNU/Linux in general), they can poke around in the code and try to learn about how it works. So, it could be good from an educational point-of-view.

If someone cares about free software, they might prefer to use Coreboot or Libreboot for that reason. If you have binary blobs in your firmware, you don't know what they contain - in theory they might contain code that could compromise your privacy/security. The Free Software Foundation only endorses systems that run with Libreboot firmware.

Another thing I can think of is if someone is developing a new device, then porting Coreboot to it might be seen as simpler than writing their own firmware from scratch, or having to pay for proprietary firmware. Coreboot is very lean, fast and efficient, because it only contains the bare minimum code required to get a system up and running. It's worth noting that Coreboot does not in itself provide any BIOS or UEFI services - it just initializes the hardware and then passes control to something else. So, if an OS requires any of those services, those would have to be provided by a payload (mentioned below).

Does it affect the ability to install other OSes?

Firstly, the main OS is generally not installed on the board (unless you're talking about an embedded system). Usually, it is installed on an external storage device (i.e. hard disk). So, as long as Coreboot can set up enough of a basic environment to be able to access the storage device and call the main OS, I don't think there is any reason in theory why it shouldn't be able to boot up any OS. There are several payloads available for it that help to facilitate that. A payload is basically a bootloader that is built in to the firmware, as opposed to being stored on external storage. For example, GRUB can be built into Coreboot as a payload, which is certainly capable of booting Linux and Windows. I'm not sure if there is a payload option that could boot MacOS, but I wouldn't be surprised if there is.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.