Getting Started

This section covers everything you need to start developing with OpenBMC.

What You’ll Learn

  • Set up a development environment on Linux, macOS, or Windows (via Docker)
  • Clone and configure the OpenBMC repositories
  • Build your first OpenBMC image
  • Run and test in QEMU (the standard development environment)
  • Use the SDK for application development

No Hardware Required

QEMU is the standard development environment for OpenBMC — not a compromise or simulation fallback. Professional OpenBMC developers at Google, Meta, IBM, and other companies use QEMU daily for most development work.

Feature Comparison: QEMU vs Raspberry Pi vs Real Hardware

Feature QEMU (ASPEED) Raspberry Pi ASPEED AST2600 EVB
OpenBMC software stack ✅ Full ✅ Full ✅ Full
D-Bus services ✅ Full ✅ Full ✅ Full
Redfish API (bmcweb) ✅ Full ✅ Full ✅ Full
Yocto/BitBake build ✅ Full ✅ Full ✅ Full
I2C sensors (tmp105, EEPROMs) ✅ Well emulated ❌ No ASPEED I2C ✅ Hardware
SPI flash (boot, firmware) ✅ Well emulated ❌ SD card boot ✅ Hardware
GPIO (pins, interrupts) ✅ Functional ⚠️ Limited ✅ Hardware
ADC (analog sensors) ⚠️ Synthetic values ❌ No built-in ADC ✅ Hardware
IPMI KCS/BT interface ⚠️ Partial ❌ Not available ✅ Hardware
PECI (CPU temperature) ⚠️ Stub only ❌ Not available ✅ Hardware
PWM / fan tachometer ⚠️ Register stub ❌ Not available ✅ Hardware
KVM-over-IP (video) ❌ Not emulated ❌ Not available ✅ Hardware
eSPI host interface ❌ Not emulated ❌ Not available ✅ Hardware
Secure Boot (RoT) ⚠️ Basic OTP only ❌ Not available ✅ Hardware
Cost Free $35-75 $500-800

What Requires Real Hardware

Only specialized hardware bring-up tasks need physical BMC hardware:

  • KVM-over-IP video capture and encoding
  • eSPI/LPC host interface debugging
  • PECI CPU temperature monitoring with real data
  • Real fan control with PWM and tachometer feedback
  • Real analog sensor calibration
  • Platform-specific GPIO timing

These topics are relevant only for hardware engineers doing board bring-up — not for learning OpenBMC software development.

Recommendation

Option Cost Best For
QEMU Free ✅ Learning and software development — start here
Raspberry Pi $35-75 ⚠️ Exploring the software stack on real hardware, but no BMC peripherals
ASPEED AST2600 EVB $500-800 Full hardware bring-up and production development

Prerequisites

  • A Linux workstation (Ubuntu 22.04+ or Fedora 38+ recommended) OR Docker
  • At least 16GB RAM (32GB recommended)
  • 100GB+ free disk space
  • Basic command line experience

Guides in This Section

Guide Description Time
Introduction What is OpenBMC and why use it 10 min
Environment Setup Set up your development environment 30 min
First Build Build and run OpenBMC in QEMU 45 min
Development Workflow Iterate quickly with devtool and bbappend 30 min
Building QEMU Build QEMU from source if needed 20 min
Devtool Workflow Advanced devtool usage for recipe development 30 min
Gerrit Contribution Submit patches to OpenBMC via Gerrit 30 min

Quick Path

If you’re eager to get started:

  1. Environment Setup - Get your tools ready
  2. First Build - Build and run in QEMU
  3. OpenBMC Overview - Understand the architecture

If you encounter issues, check the Troubleshooting section or search the OpenBMC mailing list.


Table of contents


Back to top

OpenBMC Guide Tutorial is not affiliated with the OpenBMC project. Content is provided for educational purposes.

This site uses Just the Docs, a documentation theme for Jekyll.