| docs | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
OpenBMC
Eine deutschsprachige Dokumentation zu OpenBMC — der offenen Firmware für den Verwaltungsrechner, der in jedem Server steckt. Der BMC (Baseboard Management Controller) hat einen eigenen Prozessor, eigenen Speicher, eigene Netzwerkanbindung und ein eigenes Betriebssystem. Er läuft, sobald das Netzteil Spannung hat — auch wenn der Server aus ist. Er misst Temperaturen, regelt Lüfter, schaltet ein und aus, stellt die Fernkonsole bereit, aktualisiert Firmware und schreibt das Ereignisprotokoll. Er ist damit der privilegierteste Rechner im Serverraum.
Diese Firmware war jahrzehntelang eine Blackbox: zugekauft, geschlossen, selten aktualisiert. OpenBMC ist die Antwort darauf — eine vollständige Linux-Distribution für BMC-Hardware, gebaut mit dem Yocto-Baukasten, entwickelt unter dem Dach der Linux Foundation von Meta, Google, IBM, Intel, Microsoft, NVIDIA, AMD, Ampere und anderen.
Die Dokumentation beantwortet vier Fragen: Was ist OpenBMC und wie ist es aufgebaut? Wie baut man es selbst? — dem Selbstübersetzen ist ein eigener, ausführlicher Abschnitt gewidmet, vom ersten bitbake über den Test in QEMU bis zum Flashen und zur eigenen Maschinenschicht. Wie betreibt man es? Und: Wer unterstützt es, welche Forks gibt es und was sind die Alternativen?
Die Hardware, auf der das läuft, behandelt die Dokumentation Hardware; den größeren Zusammenhang offener Rechenzentrumshardware das Open Compute Project; das Baukastensystem darunter das Yocto Project; die Protokolle das Netzwerk.
Inhaltsübersicht
Die Dokumentation besteht aus zwei Teilen: dem Handbuch, das die Zusammenhänge erklärt, und der Referenz zum Nachschlagen. Davor stehen drei Seiten zur Einordnung.
Zur Einordnung
Handbuch
Das Handbuch erklärt die Zusammenhänge, in fünf aufeinander aufbauenden Abschnitten.
- Grundlagen — der BMC, Architektur, BMC-Hardware, D-Bus, Dienste, Zustände, Sensoren
- Schnittstellen — Redfish, IPMI, Weboberfläche, Konsole und KVM, Virtual Media, PLDM und MCTP, Telemetrie
- Selbst kompilieren — Voraussetzungen, Yocto, erster Build, QEMU, Anpassen, eigene Maschine, Flashen, Fehlersuche, Mitarbeit
- Betrieb — Inbetriebnahme, Benutzer, Firmwarepflege, Überwachung, Automatisierung, Sicherheit, Fehlersuche
- Umfeld — Hersteller, Forks, Alternativen, Standards, das Projekt
Selbst kompilieren
Der Abschnitt, der die häufigste Frage beantwortet: Ja, man kann OpenBMC selbst übersetzen — der Quelltext ist vollständig offen, der Bau ist ein gewöhnlicher Yocto-Lauf, und ein lauffähiges Abbild lässt sich ohne jede Hardware in QEMU ausprobieren.
- Überblick — was der Bau leistet und was er nicht leistet
- Voraussetzungen — Baurechner, Pakete, Platz, Zeit
- Yocto-Grundlagen — Schichten, Rezepte, BitBake
- Der erste Build — vom
git clonezum fertigen Abbild - Ausprobieren in QEMU — Server ohne Server
- Anpassen — eigene Pakete, Konfiguration,
devtool - Eine eigene Maschine — Portierung auf neue Hardware
- Flashen — Abbildtypen, Aufspielen, Rettung
- Fehlersuche beim Bau
- Mitarbeit — Gerrit, Review, Upstream
Referenz
Die Referenz listet auf, was man im Betrieb und beim Bauen nachschlägt.