barebox

Der Bootloader dient in Embedded-Linux-Systemen primär dazu, die Hardware so weit zu initialisieren, dass der Kernel gestartet werden kann.

Daneben ist der Bootloader aber auch ein wichtiges Werkzeug bei der Inbetriebnahme neuer Hardware: da es im Bootloader noch keine Nebenläufigkeit und keine Interrupts gibt, man aber bereits auf Hardware zugreifen kann, ist er auch bei Hardwerkern beliebt.

In modernen Systemen nutzen wir im Barebox die freedesktop.org Bootloader Specification, um die Komponenten eines zu bootenden Linux-Systems zu finden (Device Tree, Kernel, root-Dateisystem). Systeme mit Redundanzboot-Konzept und Field-Upgrade treffen im Bootloader die Entscheidung darüber, welches von 1-aus-N Systemen beim Starten gebootet werden soll.

Daneben bietet Barebox viele Security-Features, die für Verified Boot benötigt werden.