|Number of watchers on Github||305|
|Number of open issues||20|
|Average time to close an issue||about 1 month|
|Average time to merge a PR||about 4 hours|
|Open pull requests||11+|
|Closed pull requests||5+|
|Last commit||over 1 year ago|
|Repo Created||over 4 years ago|
|Repo Last Updated||over 1 year ago|
|Organization / Author|
|Do you use openbmc? Leave a review!|
|View open issues (20)|
|View openbmc activity|
|View on github|
|Fresh, new opensource launches 🚀🚀🚀|
Trendy new open source projects in your inbox! View examples
OpenBMC is an open software framework to build a complete Linux image for a Board Management Controller (BMC).
OpenBMC uses the Yocto Project as the underlying building and distro generation framework.
|Wedge||A 40G OS-agnostic TOR switch|
|Yosemite||An open source modular chassis for high-powered microservers|
|Lightning||A flexible NVMe JBOF|
|Wedge100||A 32x100G TOR switch|
|Backpack LC/FC||Linecard and fabric card in a 128x100G modular open switch|
|Backpack CMM||Chassis management module in a 128x100G modular open switch|
|Tioga Pass||A dual-socket compute platform|
|YosemiteV2||A refresh of Yosemite|
|Bryce Canyon||Disk Storage platform|
This repository includes 3 set of layers:
The Yocto naming pattern is used in this repository. A
`meta-layer` is used to name a layer or a category of layers. And
recipe-abc is used to name a recipe. The project will exist as a meta layer itself! Within the Yocto Project's distribution call this project
The recipes for OpenBMC common layer are found in
The BMC SoC layer and board specific layer are grouped together based on the vendor/manufacturer name. For example, all Facebook boards specific code should be in
meta-aspeed includes source code for Aspeed SoCs.
Note: In the instruction set below, references to
Set up the build environment based on the Yocto Project's Quick Start Guide.
Clone the OpenBMC repository and other open source repositories:
$ git clone -b helium https://github.com/facebook/openbmc.git $ cd openbmc $ ./sync_yocto.sh
Initialize a build directory for the platform to build. In the
$ source openbmc-init-build-env meta-facebook/meta-wedge
meta-yosemite, or any of the other platforms listed in the meta-facebook directory.
After this step, you will be dropped into a build directory,
Start the build within the build directory: In general to build for the platform:
$ bitbake <platform>-image
The build process automatically fetches all necessary packages and builds the complete image. The final build results are in
openbmc/build/tmp/deploy/images/<platform>. The root password will be
0penBmc, you may change this in the local configuration.
By default, OpenBMC build process fetches and build Linux kernel directly from GitHub repository. To make local kernel changes and build with the modified kernel:
$ cd poky $ git clone -b openbmc/helium/4.1 https://github.com/theopolis/linux.git meta-openbmc/meta-aspeed/recipes-kernel/linux/files/linux-aspeed-4.1
meta-aspeed/conf/machine/include/ast2520.inc, add these 2 lines below the
PREFERRED_PROVIDER_virtual/kernel ?= "linux-aspeedline
meta-facebook/meta-<platfom>/conf/machine/<platfom>.conf for the correct
astxxxx.inc file to modify)
INHERIT += "externalsrc" EXTERNALSRC_pn-linux-aspeed = "<dir>/meta-openbmc/meta-aspeed/recipes-kernel/linux/files/linux-aspeed-4.1"
If you have an application that can be used by different BMCs, you can contribute your application to the OpenBMC common layer.
If you are a BMC SoC vendor, you can contribute your SoC specific drivers to the BMC SoC layer.
If you are a board vendor, you can contribute your board specific configurations and tools to the Board specific layer. If the board uses a new BMC SoC that is not part of the BMC SoC layer, the SoC specific driver contribution to the BMC SoC layer is also required.