OpenBMC ist eine Linux -Verteilung für Verwaltungscontroller, die in Geräten wie Servern, Top -Rack -Switches oder RAID -Geräten verwendet werden. Es verwendet Yocto, Openembedded, Systemd und D-Bus, um eine einfache Anpassung für Ihre Plattform zu ermöglichen.
Die jüngsten Anforderungen finden Sie in der Yocto -Dokumentation
sudo apt install git python3-distutils gcc g++ make file wget
gawk diffstat bzip2 cpio chrpath zstd lz4 bzip2
sudo dnf install git python3 gcc g++ gawk which bzip2 chrpath cpio
hostname file diffutils diffstat lz4 wget zstd rpcgen patch
git clone https://github.com/openbmc/openbmc
cd openbmc
Jeder Build erfordert eine Umgebung, die gemäß Ihrem Hardwareziel eingerichtet ist. Das Root dieses Repositorys befindet sich ein spezielles Skript, mit dem die Umgebung nach Bedarf konfiguriert werden kann. Das Skript heißt setup
und nimmt den Namen Ihres Hardwareziels als Argument an.
Das Skript muss im oberen Verzeichnis des OpenBMC -Repository -Klons bezogen werden. Wenn Sie ohne Argumente ausgeführt werden, werden die Liste der unterstützten Hardwareziele angezeigt. Siehe das folgende Beispiel:
$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:
...
Eine vollständigere Liste unterstützter Maschinen finden Sie unter Meta-Phosphor/Dokumenten.
Sobald Sie das Ziel kennen (zB Romulus), beziehen Sie das setup
-Skript wie folgt:
. setup romulus
bitbake obmc-phosphor-image
Weitere Details finden Sie im DOCS -Repository.
Die OpenBMC -Community unterhält eine Reihe von Tutorials, die neue Benutzer durchlaufen können, um die OpenBMC -Entwicklung hier auf dem Laufenden zu haben
Commits, die von Mitgliedern der OpenBMC Github Community eingereicht wurden, werden über unseren Jenkins -Server zusammengestellt und getestet. Commits werden durch zwei Teststufen durchgeführt. Auf der Ebene der Repository wird die Makefile make check
-Anweisung ausgeführt. Auf Systemebene ist das Commit in ein Firmware-Image integriert und mit einem ARM-SoftMu QEMU-Modell gegen eine Flut von CI-Tests ausgeführt.
Von Nichtmitgliedern eingereichte Commits fahren nicht automatisch durch CI-Tests. Nach der visuellen Inspektion des Commits kann ein CI -Lauf vom Rezensenten manuell durchgeführt werden.
Automatisierte Tests gegen das QEMU -Modell sowie unterstützte Systeme werden durchgeführt. Das OpenBMC -Projekt verwendet das Roboter -Framework für alle Automatisierung. Unser komplettes Test -Repository finden Sie hier.
Die Unterstützung zusätzlicher Hardware- und Softwarepakete ist immer willkommen. Bitte befolgen Sie die beitragenden Richtlinien, wenn Sie eine Einreichung vorlegen. Es wird erwartet, dass Beiträge Testfälle enthalten.
Probleme werden auf Github verwaltet. Es wird empfohlen, die Probleme zu durchsuchen, bevor Sie eine neue öffnen.
Bitte suchen Sie im Internet eine Suche. Es besteht eine gute Chance, dass Ihre Frage bereits gestellt wurde.
Für allgemeine Fragen verwenden Sie bitte das OpenBMC -Tag auf dem Stapelüberlauf. Bitte überprüfen Sie die Diskussion über die Lizenzierung des Stack -Überlaufs, bevor Sie einen Code veröffentlichen.
Informationen zu technischen Diskussionen finden Sie in Kontaktinformationen unten für Incord- und Mailinglisteninformationen. Bitte stellen Sie kein Problem ein, um eine Frage zu stellen. Sie erhalten schnellere Ergebnisse, indem Sie die Mailingliste oder Discord verwenden.
Dies ist eine häufige Frage, insbesondere in Bezug auf Boards von populären COTS-Anbietern wie Supermicro und Asrock. Sie können die Liste der unterstützten Boards durch Laufen sehen . setup
(ohne weitere Argumente) in der Wurzel des OpenBMC -Quellbaums. Die meisten Plattformen, die von OpenBMC unterstützt werden, sind spezielle Server, die von Unternehmen betrieben werden, die große Rechenzentren ausführen. Einige generische COTS -Server werden jedoch in unterschiedlichem Maße unterstützt.
Wenn Ihr Motherboard nicht in der Ausgabe von aufgeführt ist . setup
Es wird derzeit nicht unterstützt. Das Portieren von OpenBMC auf eine neue Plattform ist ein nicht triviales Unterfangen, das idealerweise mit Unterstützung der Schaltpläne und anderer Dokumentation des Herstellers durchgeführt wird (es ist nicht völlig unmöglich, eine Portierungsanstrengung ohne Dokumentation über Reverse Engineering zu übernehmen, aber es ist wesentlich schwierigerer und beinhaltet wahrscheinlich ein höheres Risiko für Hardwareschäden).
Aber auch wenn Ihr Motherboard zu den in der Ausgabe von aufgeführten . setup
, es gibt zwei erhebliche Einschränkungen zu beachten. Erstens sind nicht alle Ports gleichermaßen ausgereift - einige Plattformen werden besser unterstützt als andere, und die Funktionalität einiger "unterstützter" Boards sind möglicherweise ziemlich begrenzt. Zweitens ist die Unterstützung für ein Motherboard nicht die gleiche wie die Unterstützung für ein vollständiges System - insbesondere ist die Lüfterkontrolle nicht nur von dem Motherboard, sondern auch von den damit verbundenen Fans und dem Chassis, in dem das Board und die Fans untergebracht sind, von entscheidender Bedeutung. Beide können zwischen den Systemen mit demselben Boardmodell dramatisch variieren. Während Sie möglicherweise einen OpenBMC -Build in Ihrem System kompilieren und installieren können und einige grundlegende Funktionen erhalten, sind es wahrscheinlich, dass grobe Kanten (z.
Siehe auch "unterstützte Maschinen".
Tauchen Sie tiefer in OpenBMC ein, indem Sie das DOCS -Repository öffnen.
Das technische Lenkungsausschuss (TSC) führt das Projekt. Mitglieder sind: