Architecture

Understand how OpenBMC is designed and how its components work together.

What You’ll Learn

  • OpenBMC’s overall architecture and design philosophy
  • The D-Bus communication system that connects all services
  • State management for BMC, chassis, and host
  • How to navigate the codebase and find components

Key Concepts

D-Bus: The Nervous System

OpenBMC uses D-Bus as the central communication backbone. All services expose their data and functionality through D-Bus interfaces, enabling:

  • Loose coupling between components
  • Dynamic service discovery
  • Language-agnostic communication
  • Easy debugging and introspection

Phosphor Services

The “phosphor-*” repositories contain the core OpenBMC services:

  • phosphor-state-manager: System state control
  • phosphor-logging: Event and error logging
  • phosphor-dbus-interfaces: Standard interface definitions
  • And many more…

Guides in This Section

Guide Description Difficulty
OpenBMC Overview Architecture, build system, community Beginner
D-Bus Fundamentals D-Bus concepts and usage Beginner
State Management BMC/Chassis/Host states Intermediate
Custom D-Bus Services Build your own D-Bus service with sdbus++ Intermediate
Systemd Boot Ordering Service dependencies and boot sequence Intermediate

Prerequisite Knowledge

Before diving into architecture:

  • Complete the Getting Started section
  • Have a working QEMU environment
  • Basic understanding of Linux services (systemd)

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.