Skip to content

Commit

Permalink
intro: Clarify what LinuxBoot is
Browse files Browse the repository at this point in the history
Signed-off-by: Philip Molloy <philip@philipmolloy.com>
  • Loading branch information
pamolloy committed Oct 25, 2024
1 parent 0265d5b commit f9234be
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,23 @@ This is the official “LinuxBoot Book” for the LinuxBoot project. The book:

## What is LinuxBoot?

LinuxBoot is a project that aims to replace specific [firmware](./glossary.md)
functionality with a Linux kernel and runtime. Over the years this project has
grown to include various initiatives with the overarching goal of moving from
obscure, complex firmware to simpler, open source firmware.
Generally, LinuxBoot is based on the idea of replacing proprietary or
corporate-driven late-stage boot [firmware](./glossary.md) with the Linux
kernel and a open community userland. That idea has grown into a project that
over the years includes various initiatives with the overarching goal of moving
from obscure and complex firmware to simpler and open source firmware.

The goal of LinuxBoot is to reduce the role of firmware to a small,
The project consists of the [linuxboot](https://github.com/linuxboot/linuxboot)
build system that builds a boot payload consisting of a Linux kernel and an
[initramfs](https://de.wikipedia.org/wiki/Initramfs) that contains a Golang
userland built using [u-root](https://github.com/u-root/u-root).

More recently other projects have popped up based on the same idea:

- [k-boot](https://github.com/BayLibre/k-boot) developed by BayLibre
- [nmbl](https://github.com/rhboot/nmbl-poc) developed by RedHat

These projects all attempt to reduce the role of firmware to a small,
fixed-function core whose only purpose is to get a flash-based Linux kernel
started. This “bare essentials” firmware prepares the hardware and starts a
Linux kernel and a userland environment will run on the machine. Go is the
Expand Down

0 comments on commit f9234be

Please sign in to comment.