Libre Boot: A fully FREE REPLACEMENT for Proprietary Boot Firmware
Libre Boot: A Fully Free Software Replacement for Proprietary Boot Firmware
Introduction
As you all know, free software is very dominant in many areas, but there are still parts where it has not yet achieved the success it aims for. One project trying to change this is **Libre Boot**. I'm Leah Rowe, the founder of this project, and I'm here to talk about it. We started working on Libre Boot in late 2013, and the project aims to provide free software at the boot firmware level.
What is Libre Boot?
When people think about free software, they often think about their operating system. However, the boot firmware is crucial as it initializes the hardware and starts a boot loader to load your operating system. Most modern systems use proprietary software for this, often referred to as the BIOS or UEFI. Libre Boot, on the other hand, provides a fully free software replacement for this.
Goals of the Project
1. **Exclusive Free Software Use**: We believe proprietary software should not be an option. If anyone is using non-free software, that's a problem we must fix.
2. **Hardware Support**: We aim to support as much hardware as possible, including porting existing hardware to Libre Boot and having EMS providers pre-install it.
3. **Ease of Use**: We want to make it as easy as possible for non-technical people to use. This involves streamlining installation processes and providing clear, jargon-free documentation.
Problems with Non-Free Boot Firmware
1. **Locked Down Devices**: Non-free firmware often locks down the operating system, making it difficult or impossible to replace. This is common in game consoles, mobile devices, and increasingly in PCs.
2. **Cryptographic Signatures**: Modern boot firmware is often cryptographically signed, meaning you can't replace it without breaking the signature.
3. **Security Issues**: Proprietary firmware can contain intentional or unintentional security issues, such as rootkits in system management modes.
4. **Lack of Transparency**: If the software is proprietary and no one has the source code, it's impossible to fix bugs or study how it works.
History of Libre Boot
Libre Boot started in December 2013 when I was running a company called Minifree. We were selling systems with Libre Boot pre-installed, and the Free Software Foundation (FSF) contacted us about their "Respects Your Freedom" certification program. This program verifies devices that run exclusively on free software and contain no known security issues.
We had to work on some issues, such as making coreboot entirely free of blobs (proprietary binary-only software). This led to the formation of the Libre Boot project. Initially, we only supported one laptop, the X60. Over time, we expanded to support more desktops, laptops, and servers on multiple platforms.
For a brief period, Libre Boot was part of the GNU project. However, we had disagreements over technical issues and the FSF's actions, leading us to leave in September 2016. Despite this, we continue to share the same philosophical goals of promoting free software.
Funding Libre Boot
The project is funded through Minifree, a company I run that sells systems with Libre Boot pre-installed. The profits from this company support the development and infrastructure of Libre Boot. We are also exploring crowdfunding as a potential future funding option, especially if we decide to produce our own hardware.
Components of Libre Boot
Libre Boot is similar to a GNU/Linux distribution but at the boot firmware level. It includes:
- **Coreboot**: The main boot firmware that initializes the hardware.
- **Payloads**: Such as GRUB and Depthcharge.
- **Utilities**: For installing and managing Libre Boot.
- **Toolchain**: Currently using GCC, but looking to switch to LLVM.
Coreboot
Coreboot is the upstream project that provides hardware initialization. It started in 1999 as LinuxBIOS, aiming to replace the legacy BIOS with a Linux kernel. Over time, it evolved to support various payloads and became known as Coreboot. Coreboot is mostly free software but contains some proprietary components.
Proprietary Components in Coreboot
1. **Shim Boot**: On modern Intel and AMD systems, the hardware initialization is a binary blob provided by the manufacturer.
2. **Video BIOS**: Provides initialization for display and driver functions.
3. **Intel Management Engine (IME)**: A separate computing platform with its own memory and networking, providing features like AMT (Active Management Technology), which has been found to be insecure.
4. **AMD Platform Security Processor (PSP)**: Similar to Intel's IME, it also has security and freedom issues.
Libre Boot's Approach
Libre Boot maintains a set of scripts that search the Coreboot source code for binary blobs and removes them. This means we support less hardware than Coreboot, but we prioritize freedom and security. We are also considering using **Libre Core**, a fork of Coreboot, which aims to support hardware without any proprietary software.
Supported Operating Systems
- **GNU/Linux**: Fully supported with detailed installation instructions.
- **BSD**: Recently added support for OpenBSD and NetBSD, with some issues for FreeBSD.
- **Other Free Operating Systems**: Compatibility is unknown and would need testing.
Future Developments
- **New Chromebooks**: We have added support for several new Chromebooks with ARM processors.
- **New Build System**: Merged a new build system for Chromebooks, which will be extended to support more hardware.
- **Alternative Compilers**: Looking to support compilers other than GCC.
- **Open Power**: Exploring the use of IBM's Power platform as an alternative to Intel and AMD due to their freedom issues.
How to Help
- **Pre-Installed Systems**: We need more hardware manufacturers or EMS providers to offer Libre Boot pre-installed.
- **Porting New Hardware**: Continue working on porting new hardware to Libre Boot.
- **Promotion and Education**: Tell people about Libre Boot and explain its importance.
- **Documentation and Bug Reports**: Improve the documentation and submit bug reports during release cycles.
- **Community Discussion**: Join our IRC channel on Freenode, sub-reddit, or contact developers directly.
Link:
Comments
Post a Comment