/openbmc

Join GitHub today

GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.

Sign up
OpenBMC Distribution
Branch:master
Clone or download

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Launching GitHub Desktop...

If nothing happens,download GitHub Desktop and try again.

Launching GitHub Desktop...

If nothing happens,download GitHub Desktop and try again.

Launching Xcode...

If nothing happens,download Xcode and try again.

Launching Visual Studio...

If nothing happens,download the GitHub extension for Visual Studio and try again.

@tomjoseph83@bradbishop
tomjoseph83 andbradbishopRevert "Remove dependency on phosphor-ipmi-inventory-sel recipe."
This reverts commit 2b8dbf0eb056e6aa05749563b02e931c656a4496.This commit is reverted because the mapping of D-Bus object path tosensor information is needed to service the SEL commands which translateD-Bus logging objects to SEL entries. This dependency can be removed once theSEL moves to the journal and there will be no mapping between logging objectsand SEL entries.(From meta-phosphor rev: c32034f776bafa9957c8af22769e5707508f6013)Change-Id: I927014cfc109bc34d673d62591890a233e29f3c5Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Latest commit 4d4c849Feb 4, 2019
Permalink
TypeNameLatest commit messageCommit time
Failed to load latest commit information.
meta-armpackagegroups: Remove obmc-mgr-systemOct 8, 2018
meta-aspeedaspeed; fix incorrectly applied patchFeb 4, 2019
meta-evbmeta-evb: evb-nuvoton: prepare for yocto 2.6Jan 23, 2019
meta-facebookmeta-facebook: Add NCSI MAC kernel configFeb 5, 2019
meta-googlemeta-google: add json dependency on google-ipmi-sysFeb 7, 2019
meta-hxtmeta-hxt: stardragon4800-rep2: stardragon4800-rep2-config: set LICENS…Nov 8, 2018
meta-ibmibm: Add a basic READMEFeb 6, 2019
meta-ingrasyszaius: Remove some layers from bblayers.confFeb 6, 2019
meta-inspurmeta-on5263m5: Add inspur-uuidJan 31, 2019
meta-intelEnable x86-power-control recipeJan 31, 2019
meta-inventecmeta-inventec: master refresh cdec61e8ce..29d7566385Nov 8, 2018
meta-mellanoxmeta-mellanox: msn: mlx-ipmid: rename as gitOct 19, 2018
meta-nuvotonu-boot-nuvoton: srcrev bump 196461383f7..5d036755c2eJan 23, 2019
meta-openembeddedmeta-openembedded: refresh thud: 6094ae18c8..cca27b5ea7Feb 4, 2019
meta-openpoweropenpower-proc-control: srcrev bump 729521fef4..a27263d48eFeb 7, 2019
meta-phosphorRevert "Remove dependency on phosphor-ipmi-inventory-sel recipe."Feb 9, 2019
meta-portwell/meta-neptune[Subtree] Bring openbmc machines to top levelAug 23, 2018
meta-qualcommmeta-qualcomm: master refresh 2d5d845e7d..7272549020Nov 8, 2018
meta-quantameta-quanta: q71l: add psus to dbusFeb 4, 2019
meta-raspberrypiwiringpi: Set major versionFeb 9, 2019
meta-securityreset upstream subtrees to yocto 2.6Jan 8, 2019
meta-x86/confx86: set layer compatibility to thudJan 9, 2019
meta-xilinxREADME.building.md: Update regarding pmu-firmware patch for SPL flowJan 30, 2019
pokypoky: refresh thud: 1d987b98ed..ee7dd31944Feb 7, 2019
.gitignoreAdd .repo/ to .gitignoreDec 16, 2016
.gitreviewgit-review config for gerrit.openbmc-project.xyzAug 2, 2016
.templateconfCombine poky and meta-phosphor as subtrees.Sep 15, 2015
LICENSE[Subtree] Removing import-layers directoryAug 23, 2018
MAINTAINERSAdd MAINTAINERS fileMay 30, 2018
README.mdREADME: Remove reference to OCC from feature listDec 17, 2018
bitbake[Subtree] Removing import-layers directoryAug 23, 2018
meta[Subtree] Removing import-layers directoryAug 23, 2018
meta-poky[Subtree] Removing import-layers directoryAug 23, 2018
meta-skeletonopenbmc: Add top-level link to poky/meta-skeletonOct 30, 2018
oe-init-build-env[Subtree] Removing import-layers directoryAug 23, 2018
openbmc-envEnvironment helper utility.Sep 16, 2015
scripts[Subtree] Removing import-layers directoryAug 23, 2018
setupsetup: Allow user to pass in the build directory nameSep 28, 2018

README.md

OpenBMC

Build Status

The OpenBMC project can be described as a Linux distribution for embeddeddevices that have a BMC; typically, but not limited to, things like servers,top of rack switches or RAID appliances. The OpenBMC stack uses technologiessuch asYocto,OpenEmbedded,systemd, andD-Bus to allow easycustomization for your server platform.

Setting up your OpenBMC project

1) Prerequisite

  • Ubuntu 14.04
sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat
  • Fedora 28
sudo dnf install -y git patch diffstat texinfo chrpath SDL-devel bitbake rpcgensudo dnf groupinstall "C Development Tools and Libraries"

2) Download the source

git clone git@github.com:openbmc/openbmc.gitcd openbmc

3) Target your hardware

Any build requires an environment variable known asTEMPLATECONF to be setto a hardware target.You can see all of the known targets withfind meta-* -name local.conf.sample. Choose the hardware target andthen move to the next step. Additional examples can be found in theOpenBMC Cheatsheet

MachineTEMPLATECONF
Palmettometa-ibm/meta-palmetto/conf
Zaiusmeta-ingrasys/meta-zaius/conf
Witherspoonmeta-ibm/meta-witherspoon/conf
Romulusmeta-ibm/meta-romulus/conf

As an example target Palmetto

export TEMPLATECONF=meta-ibm/meta-palmetto/conf

4) Build

. openbmc-envbitbake obmc-phosphor-image

Additional details can be found in thedocsrepository.

Build Validation and Testing

Commits submitted by members of the OpenBMC GitHub community are compiled andtested via ourJenkins server. Commits are runthrough two levels of testing. At the repository level the makefilemake check directive is run. At the system level, the commit is built into afirmware image and run with an arm-softmmu QEMU model against a barrage ofCI tests.

Commits submitted by non-members do not automatically proceed through CItesting. After visual inspection of the commit, a CI run can be manuallyperformed by the reviewer.

Automated testing against the QEMU model along with supported systems areperformed. The OpenBMC project uses theRobot Framework for all automation. Ourcomplete test repository can be foundhere.

Submitting Patches

Support of additional hardware and software packages is always welcome.Please follow thecontributing guidelineswhen making a submission. It is expected that contributions contain testcases.

Bug Reporting

Issues are managed onGitHub. It is recommended you search through the issues before openinga new one.

Features of OpenBMC

Feature List

  • REST Management
  • IPMI
  • SSH based SOL
  • Power and Cooling Management
  • Event Logs
  • Zeroconf discoverable
  • Sensors
  • Inventory
  • LED Management
  • Host Watchdog
  • Simulation
  • Code Update Support for multiple BMC/BIOS images

Features In Progress

  • Full IPMI 2.0 Compliance with DCMI
  • Verified Boot
  • HTML5 Java Script Web User Interface
  • BMC RAS

Features Requested but need help

  • OpenCompute Redfish Compliance
  • OpenBMC performance monitoring
  • cgroup user management and policies
  • Remote KVM
  • Remote USB
  • OpenStack Ironic Integration
  • QEMU enhancements

Finding out more

Dive deeper in to OpenBMC by opening thedocsrepository.

Contact