OpenBMCは、サーバー、ラックスイッチのトップ、RAIDアプライアンスなどのデバイスで使用される管理コントローラーのLinux配布です。 Yocto、Openembeded、SystemD、およびD-Busを使用して、プラットフォームの簡単なカスタマイズを可能にします。
最新の要件については、yoctoドキュメントを参照してください
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
すべてのビルドには、ハードウェアターゲットに従って環境が設定される必要があります。このリポジトリのルートには、必要に応じて環境を構成するために使用できる特別なスクリプトがあります。スクリプトはsetup
と呼ばれ、ハードウェアターゲットの名前を引数として受け取ります。
スクリプトは、OpenBMCリポジトリクローンのトップディレクトリにいる間に調達する必要があり、引数なしで実行されると、サポートされているハードウェアターゲットのリストが表示されます。次の例を参照してください。
$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:
...
サポートされているマシンのより完全なリストは、メタリン/ドキュメントの下で見つけることができます。
ターゲット(romulusなど)を知ったら、次のようにsetup
スクリプトを調達します。
. setup romulus
bitbake obmc-phosphor-image
追加の詳細は、Docsリポジトリにあります。
OpenBMCコミュニティは、新しいユーザーがOPENBMC開発のスピードを上げるために進むことができるチュートリアルのセットを維持しています。
OpenBMC Githubコミュニティのメンバーによって提出されたコミットは、Jenkinsサーバーを介して編集およびテストされます。コミットは2つのレベルのテストを実行します。リポジトリレベルでは、MakeFile make check
Directiveが実行されます。システムレベルでは、コミットはファームウェア画像に組み込まれ、CIテストの弾幕に対してARM-SOFTMMU QEMUモデルで実行されます。
非会員から提出されたコミットは、CIテストを自動的に進めることはありません。コミットの目視検査後、CIランはレビュアーが手動で実行できます。
QEMUモデルに対する自動テストとサポートされたシステムが実行されます。 OpenBMCプロジェクトは、すべての自動化にロボットフレームワークを使用しています。完全なテストリポジトリはこちらをご覧ください。
追加のハードウェアパッケージとソフトウェアパッケージのサポートはいつでも大歓迎です。提出する際には、貢献ガイドラインに従ってください。貢献にはテストケースが含まれることが期待されています。
問題はGitHubで管理されています。新しい問題を開く前に、問題を検索することをお勧めします。
まず、インターネットで検索してください。あなたの質問がすでに尋ねられている可能性は十分にあります。
一般的な質問については、Stack OverflowでOpenBMCタグを使用してください。コードを投稿する前に、スタックオーバーフローライセンスに関するディスカッションを確認してください。
技術的な議論については、Discordおよびメーリングリスト情報については、以下の連絡先情報を参照してください。質問をするために問題を提出しないでください。メーリングリストまたは不和を使用することにより、より速い結果が得られます。
これは、特に人気のあるCOTS(市販の既製)ベンダーからのボードに関する一般的な質問です。実行することで、サポートされているボードのリストを見ることができます. setup
OpenBMCソースツリーのルートに(さらに引数がない) . setup
。 OpenBMCでサポートされているプラットフォームのほとんどは、大規模なデータセンターを実行している企業が運営する専門サーバーですが、いくつかの一般的なCOTSサーバーはさまざまな程度にサポートされています。
マザーボードが出力にリストされていない場合. setup
現在サポート. setup
れていません。 OpenBMCを新しいプラットフォームに移植することは、非些細な取り組みであり、メーカーからの概略図やその他の文書の支援を受けて行われます(リバースエンジニアリングを介してドキュメントなしで移植努力をすることは完全には実行不可能ではありませんが、かなり難しいです。 、そしておそらくハードウェアの損傷のリスクが大きくなります)。
ただし、マザーボードが出力にリストされているものの1つであっても. setup
、2つの重要な注意事項があります。第一に、すべてのポートが等しく成熟しているわけではありません。一部のプラットフォームは他のポートよりもサポートされており、一部の「サポートされている」ボード上の機能はかなり制限される場合があります。第二に、マザーボードのサポートは完全なシステムのサポートと同じではありません。特に、ファンコントロールはマザーボードだけでなく、それに接続したファンとボードとファンが収容されているシャーシにも大きく依存しています。どちらも同じボードモデルを使用してシステム間で劇的に異なる可能性があります。したがって、システムにOpenBMCビルドをコンパイルしてインストールし、基本的な機能を取得できる場合がありますが、大まかなエッジ(フルスロットルで継続的に実行されているクーリングファンなど)が可能性があります。
「サポートされているマシン」も参照してください。
Docsリポジトリを開くことにより、OpenBMCに深く掘り下げます。
技術運営委員会(TSC)がプロジェクトを導きます。メンバーは次のとおりです。