Alternative zum BIOS Slim Bootloader lässt x86-Systeme schneller booten

Von Dipl.-Ing. (FH) Hendrik Härter 5 min Lesedauer

Anbieter zum Thema

x86-Systeme waren bisher nicht unbedingt für kurze Bootzeiten bekannt. Advantech bietet mit dem Slim Bootloader für ausgewählte Plattformen jetzt eine schnelle Alternative zum herkömmlichen BIOS an, welche die Systemstartzeit auf einen Bruchteil reduziert.

Schnell booten: Der Slim Bootloader ist eine Alternative zu einem BIOS. Für ausgewählte Plattformen, bei denen es auf Schnelligkeit ankommt, senkt sich die Systemstartzeit auf ein Bruchteil.(Bild:   Pascal Treichler /  Pixabay)
Schnell booten: Der Slim Bootloader ist eine Alternative zu einem BIOS. Für ausgewählte Plattformen, bei denen es auf Schnelligkeit ankommt, senkt sich die Systemstartzeit auf ein Bruchteil.
(Bild: Pascal Treichler / Pixabay)

Während bei Desktop- oder Serveranwendungen die Systemstartzeit nicht im Vordergrund steht, spielt sie bei vielen Embedded-Anwendungen eine wesentlich entscheidendere Rolle. Als praktisches Beispiel sei der Anwendungsfall „Automotive Data Logging“ genannt. Im Kofferraum von Versuchsfahrzeugen befindet sich ein Embedded-PC, der kontinuierlich Daten von allen Steuergeräten im Fahrzeug sammelt und auf Wechseldatenträgern für die spätere Auswertung speichert.

Kritisch ist der Kaltstart, also der Moment nach dem Schlüsselumdrehen: Alle Steuergeräte im Fahrzeug beginnen innerhalb kürzester Zeit Daten zu liefern. Wenn nun der Embedded-PC nicht schnell genug hochfährt und mit der Datenspeicherung beginnt, fehlt unter Umständen ein komplettes Zeitfenster im Datensatz. Eine vollständige Datenanalyse ist dann nicht möglich.

Bootzeiten bei x86- und ARM-basierten Plattformen

Auch wenn x86-Plattformen aufgrund ihrer hohen Anzahl an PCIe Lanes und der damit verbundenen hohen Dichte an NVMe-Drives für eine solche Anwendung prädestiniert erscheinen, stellen die damit verbundenen Bootzeiten hier ein Problem dar.

Es gibt eine Vielzahl von Embedded-Anwendungsszenarien, die ähnliche Anforderungen an die Bootzeit stellen. Das kann beispielsweise bei sicherheitskritischen Anwendungen der Fall sein. Es gibt aber auch verteilte Systeme, bei denen die Kommunikationsteilnehmer nach dem Einschalten innerhalb enger Zeitvorgaben reagieren müssen, um nicht als fehlerhaft isoliert zu werden. Bei Embedded-Anforderungen hatten x86-Plattformen bisher oft das Nachsehen, vor allem im direkten Vergleich mit ARM-basierten Plattformen.

Mit dem Slim Bootloader wendet Advantech nun das Blatt deutlich zu Gunsten der x86-Plattformen und bringt sie hinsichtlich der Bootzeiten auf Augenhöhe mit den ARM-Plattformen.

Die Vorteile des Slim Bootloaders

Slim Bootloader: Die verschiedenen Layer im Überblick.(Bild:  https://slimbootloader.github.io/security/container-security.html)
Slim Bootloader: Die verschiedenen Layer im Überblick.
(Bild: https://slimbootloader.github.io/security/container-security.html)

Slim Bootloader (SBL) ist eine Open-Source-Referenzimplementierung einer Boot-Firmware von Intel, die von Grund auf für geringen Platzbedarf, hohe Geschwindigkeit und Sicherheit optimiert wurde. SBL stellt somit eine projektspezifische und hochoptimierte Alternative zu einem herkömmlichen BIOS dar.

Durch den modularen Aufbau ist es möglich, nur die für das jeweilige Projekt benötigten Funktionen und die minimal notwendige Hardware-Initialisierung zu realisieren, während auf unnötigen Ballast verzichtet wird. Durch den Einsatz von EDK II als Buildsystem ist es möglich, EDK-II-Bibliotheken aus anderen UEFI-Projekten mit relativ geringem Aufwand zu portieren und zu verwenden.

Der Slim Bootloader verwendet im ersten Schritt das Firmware Support Package (FSP) des Herstellers Intel, um die CPU, den jeweiligen Chipsatz sowie Speichercontroller und -module zu initialisieren. Im weiteren Verlauf werden dann PCI- und PCIe-Geräte sowie angeschlossene USB- und Boot-Devices enumeriert. Dabei sind umfangreiche Konfigurationsmöglichkeiten sowie kunden- oder projektspezifische Anpassungen und Erweiterungen möglich.

Verschiedene Linux- oder Windows-Varianten

Für das Booten des Betriebssystems oder der Applikation setzt der Slim Bootloader schließlich auf sogenannte Payloads. Damit können unterschiedliche Bootmodi realisiert werden: im Legacy-Modus wird mithilfe von klassischen Master Boot Records (MBRs) gebootet, im UEFI-Modus hingegen mit der EDK2-Payload von GUID Partition Tables (GPT). Damit wird eine Vielzahl gängiger Betriebssysteme wie verschiedene Linux- oder Windows-Varianten unterstützt. Weitere verfügbare Payloads bieten speziellere Möglichkeiten wie bestimmte Echtzeitbetriebssysteme (RTOS).

Für Bootlaufwerke werden alle gängigen Schnittstellen wie NVMe, SATA oder USB unterstützt. Verschiedene Prioritäten und Reihenfolgen können definiert werden. Slim Bootloader unterstützt sowohl einen grafischen Startbildschirm, mit dem eigene Bootlogos realisiert werden können, als auch optional eine Kommandozeilenkonsole für Konfigurations- und Debugging-Zwecke. Letztere kann aus Performance- oder Sicherheitsgründen komplett deaktiviert werden.

Die Sicherheit bei Slim Bootloader

Sicherheit ist ein wesentlicher Schwerpunkt des Slim Bootloaders. Mittels Intel Boot Guard kann sichergestellt werden, dass auf HW-Ebene nur ein SBL mit gültiger Signatur ausgeführt wird. Unabhängig davon werden die einzelnen Firmware-Komponenten signiert. Damit ist es möglich, optional Verified Boot oder Measured Boot zu implementieren. Schließlich können mit SBL signierte Bootcontainer für den Betriebssystemkern erzeugt und verwendet werden.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Der Firmware-Update-Mechanismus ist ebenfalls durch die Verwendung von Signaturen abgesichert und folgt dem UEFI Capsule Standard. Durch ein integriertes Firmware-Update-Payload können der Slim Bootloader oder einzelne Komponenten im laufenden System direkt von einem USB-Stick ohne zusätzliche Software aktualisiert werden.

Die Lizenzierung über die BSD+-Patent-Lizenz ermöglicht eine hohe Flexibilität und den Schutz kundenspezifischer IP. Im Gegensatz zu einer GPL-Lizenz, wie sie in vielen Open-Source-Projekten verwendet wird, müssen Änderungen und Anpassungen nicht zwingend offengelegt werden.

Wie die Umsetzung auf Hardware erfolgt

Die Umsetzung auf Advantech-Hardware erfolgte vollständig im europäischen Engineering-Kompetenzzentrum von Advantech in München. „Durch unsere Entwicklung hier im Herzen Europas können wir jederzeit kurzfristig und unkompliziert Anpassungen oder Erweiterungen für unsere Kunden direkt vor Ort vornehmen“, erklärt Thomas Kastner, Senior Director Embedded Software bei Advantech Europe. „Dabei stehen unsere lokalen Experten unseren Kunden vom ersten Konzept bis weit in die Wartungsphase nach dem Serienanlauf jederzeit direkt zur Seite.“

Doch welche Bootzeiten sind im Detail möglich und wie sieht ein sinnvoller Vergleich aus? Für die Betrachtung fokussieren wir uns ausschließlich auf die Zeit vom Einschalten der Spannungsversorgung bis zum Start des OS-Bootvorgangs. Das ist die gesamte Zeit, die die jeweilige Bootfirmware (BIOS oder Slim Bootloader) zur Initialisierung der Hardware benötigt.

Als Referenzplattform dient das SOM-2532 von Advantech mit Intel Atom X6425E und 8 GByte DDR4 RAM. Die Boot Firmware lässt jeweils einen Linux Kernel von der integrierten eMMC laden und wir beenden die Messung, sobald die erste Meldung des Kernels im Log erscheint.

Während das Standard BIOS 24 Sekunden benötigt, hat der Slim Bootloader bereits nach 5,7 Sekunden die Hardware initialisiert, den Linux Kernel geladen und gestartet. Die reine HW-Initialisierung ist bereits nach etwa 2,9 Sekunden abgeschlossen, wobei die Zeit für die Speicherinitialisierung der limitierende Faktor ist. Die verbleibende Zeit wird dann für die Initialisierung der UEFI-Payload und das Laden des Kernels benötigt. Hier sind weitere Optimierungen möglich, indem statt UEFI auf Legacy-Boot setzt, die Größe des Kernels reduziert – getestet wurde mit einem Standard-Desktop-Kernel – oder beispielsweise nicht benötigte Schnittstellen wie USB-Boot deaktiviert. Am anderen Ende der Leistungsskala sind auf einem Ice Lake D System selbst mit 256 GByte RAM noch Zeiten deutlich unter 15 Sekunden möglich.

Slim Bootloader ist aktuell auf den Advantech-Produktfamilien Elkhart Lake und Ice Lake D erhältlich, weitere Plattformen wie Alder Lake sind in Vorbereitung und auf Anfrage kurzfristig verfügbar.

(ID:49617408)