157 lines
7.8 KiB
Plaintext
157 lines
7.8 KiB
Plaintext
|
|
||
|
Information about osboot can be found at <https://osboot.org/>
|
||
|
This is the *libre* version of osboot, so it only has support for hardware that
|
||
|
can boot without any binary blobs in the ROM image.
|
||
|
|
||
|
This branch of osboot is basically pointless. It was created to then be forked
|
||
|
and adapted for a new Libreboot release.
|
||
|
|
||
|
Free your BIOS today! GNU GPL style
|
||
|
===================================
|
||
|
|
||
|
osboot is
|
||
|
[freedom-respecting](https://www.gnu.org/philosophy/free-sw.html)
|
||
|
*boot firmware* that initializes the hardware (e.g.
|
||
|
memory controller, CPU, peripherals) in your computer so that software can run.
|
||
|
osboot then starts a bootloader to load your operating system. It replaces the
|
||
|
proprietary BIOS/UEFI firmware typically found on a computer. osboot is
|
||
|
compatible with [specific computer models that use the Intel/AMD x86
|
||
|
architecture](docs/hardware/). osboot works well with GNU+Linux and BSD
|
||
|
operating systems. User support is available
|
||
|
at [\#osboot](https://webchat.freenode.net/?channels=osboot) on Freenode
|
||
|
IRC.
|
||
|
|
||
|
osboot is a *Free Software* project, but can be considered Open Source.
|
||
|
[The GNU website](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html)
|
||
|
teaches why you should call it Free Software instead; alternatively, you may
|
||
|
call it libre software.
|
||
|
|
||
|
osboot uses [coreboot](https://www.coreboot.org/) for hardware initialization.
|
||
|
However, *coreboot* is notoriously difficult to compile and install for most
|
||
|
non-technical users. There are many complicated configuration steps required,
|
||
|
and coreboot by itself is useless; coreboot only handles basic hardware
|
||
|
initialization, and then jumps to a separate *payload* program. The payload
|
||
|
program can be anything, for example a Linux kernel, bootloader (such as
|
||
|
GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation
|
||
|
(such as SeaBIOS). While not quite as complicated as building a GNU+Linux
|
||
|
distribution from scratch, it may aswell be as far as most non-technical users
|
||
|
are concerned.
|
||
|
|
||
|
osboot solves this problem in a novel way:
|
||
|
osboot is a *coreboot distribution* much like Debian is a *GNU+Linux
|
||
|
distribution*. osboot provides an *automated build system* that downloads,
|
||
|
patches (where necessary) and compiles coreboot, GNU GRUB, various payloads and
|
||
|
all other software components needed to build a complete, working *ROM image*
|
||
|
that you can install to replace your current BIOS/UEFI firmware, much like a
|
||
|
GNU+Linux distribution (e.g. Debian) provides an ISO image that you can use to
|
||
|
replace your current operating system (e.g. Windows).
|
||
|
|
||
|
Information about who works on osboot, and who runs the project, can be
|
||
|
found on the [who.md](who.md) page.
|
||
|
|
||
|
Why use osboot?
|
||
|
==================
|
||
|
|
||
|
[Free software](https://www.gnu.org/philosophy/free-sw.html) is important for
|
||
|
the same reason that education is important.
|
||
|
All children and adults alike should be entitled to a good education.
|
||
|
Knowledge begs to be free! In the context of computing, this means that the
|
||
|
source code should be fully available to study, and use in whatever way you
|
||
|
see fit. In the context of computer hardware, this means that
|
||
|
[Right to Repair](https://yewtu.be/watch?v=Npd_xDuNi9k)
|
||
|
should be universal, with full access to documents such as the schematics and
|
||
|
boardview files.
|
||
|
|
||
|
**[The four freedoms are paramount!](https://www.gnu.org/philosophy/free-sw.html)**
|
||
|
|
||
|
You have rights. The right to privacy, freedom of thought, freedom
|
||
|
of speech and the right to read. In the context of computing, that means anyone
|
||
|
can use [free software](https://www.gnu.org/philosophy/free-sw.html). Simply
|
||
|
speaking, free software is software that is under the direct sovereignty of the
|
||
|
user and, more importantly, the collective that is the *community*. osboot
|
||
|
is dedicated to the Free Software community, with the aim of making free software
|
||
|
at a *low level* more accessible to non-technical people.
|
||
|
|
||
|
Many people use [proprietary](https://www.gnu.org/philosophy/proprietary.html)
|
||
|
boot firmware, even if they use GNU+Linux. Non-free boot firmware often
|
||
|
contains backdoors, can be slow and have severe bugs. Development and support
|
||
|
can be abandoned at any time. By contrast, osboot is a free software project,
|
||
|
where anyone can contribute or inspect its code.
|
||
|
|
||
|
osboot is faster, more secure and more reliable than most non-free
|
||
|
firmware. osboot provides many advanced features, like encrypted
|
||
|
/boot/, GPG signature checking before booting a Linux kernel and more!
|
||
|
osboot gives *you* control over *your* computing.
|
||
|
|
||
|
Project goals
|
||
|
-------------
|
||
|
|
||
|
- *Recommend and distribute only free software*. Coreboot
|
||
|
distributes certain pieces of proprietary software which is needed
|
||
|
on some systems. Examples can include things like CPU microcode
|
||
|
updates, memory initialization blobs and so on. The coreboot project
|
||
|
sometimes recommends adding more blobs which it does not distribute,
|
||
|
such as the Video BIOS or Intel's *Management Engine*. However, a
|
||
|
lot of dedicated and talented individuals in coreboot work hard to
|
||
|
replace these blobs whenever possible.
|
||
|
- *Support as much hardware as possible!* osboot supports less
|
||
|
hardware than coreboot, because most systems from coreboot still
|
||
|
require certain proprietary software to work properly. osboot is
|
||
|
an attempt to support as much hardware as possible, without any
|
||
|
proprietary software.
|
||
|
- *Make coreboot easy to use*. Coreboot is notoriously difficult
|
||
|
to install, due to an overall lack of user-focused documentation
|
||
|
and support. Most people will simply give up before attempting to
|
||
|
install coreboot.
|
||
|
|
||
|
osboot attempts to bridge this divide by providing a build system
|
||
|
automating much of the coreboot image creation and customization.
|
||
|
Secondly, the project produces documentation aimed at non-technical users.
|
||
|
Thirdly, the project attempts to provide excellent user support via mailing
|
||
|
lists and IRC.
|
||
|
|
||
|
osboot already comes with a payload (GRUB), flashrom and other
|
||
|
needed parts. Everything is fully integrated, in a way where most of
|
||
|
the complicated steps that are otherwise required, are instead done
|
||
|
for the user in advance.
|
||
|
|
||
|
You can download ROM images for your osboot system and install
|
||
|
them without having to build anything from source. If, however, you are
|
||
|
interested in building your own image, the build system makes it relatively
|
||
|
easy to do so.
|
||
|
|
||
|
Not a coreboot fork!
|
||
|
--------------------
|
||
|
|
||
|
osboot is not a fork of coreboot. Every so often, the project
|
||
|
re-bases on the latest version of coreboot, with the number of custom
|
||
|
patches in use minimized. Tested, *stable* (static) releases are then provided
|
||
|
in osboot, based on specific coreboot revisions.
|
||
|
|
||
|
Coreboot is not entirely free software. It has binary blobs in it for some
|
||
|
platforms. What osboot does is download several revisions of coreboot, for
|
||
|
different boards, and *de-blob* those coreboot revisions. This is done using
|
||
|
the *linux-libre* deblob scripts, to find binary blobs in coreboot.
|
||
|
|
||
|
All new coreboot development should be done in coreboot (upstream), not
|
||
|
osboot! osboot is about deblobbing and packaging coreboot in a
|
||
|
user-friendly way, where most work is already done for the user.
|
||
|
|
||
|
For example, if you wanted to add a new board to osboot, you should
|
||
|
add it to coreboot first. osboot will automatically receive your code
|
||
|
at a later date, when it updates itself.
|
||
|
|
||
|
The deblobbed coreboot tree used in osboot is referred to as
|
||
|
*coreboot-libre*, to distinguish it as a component of *osboot*.
|
||
|
|
||
|
A coreboot *fork* is planned for the future. Nowadays, coreboot drops support
|
||
|
for boards that are "unmaintained", which in some cases just means that nobody
|
||
|
submitted a new status update (to the *board-status* repository), so nowadays
|
||
|
osboot must maintain multiple versions of coreboot. This is unsustainable,
|
||
|
so a fork is planned, re-adding all of the deleted boards, backporting newer
|
||
|
coreboot features and, possibly, having support for those boards re-merged
|
||
|
upstream, where coreboot and the fork will share code back and forth. As of
|
||
|
27 April 2021, work on this fork has not yet begun.
|
||
|
|
||
|
|