Get in Touch

Course Outline

Introduction to OpenBMC

  • Defining the Baseboard Management Controller (BMC)
  • Historical context of the OpenBMC project and Linux Foundation governance
  • Supported platforms including x86, ARM, and OpenPOWER
  • High-level view of the OpenBMC software stack

OpenBMC Architecture

  • The Phosphor application framework and D-Bus integration
  • Systemd integration for service management
  • Entity Manager and inventory management mechanisms
  • Key repositories and the relationships between components

Setting Up the Development Environment

  • Installing necessary dependencies on Ubuntu
  • Leveraging Docker containers for consistent builds
  • Cloning the OpenBMC source code tree
  • Configuring Gerrit for code review processes

Foundations of Yocto and BitBake

  • OpenEmbedded layer structure, specifically meta-phosphor and meta-aspeed
  • Interpreting recipes, bbappend, and configuration files
  • Constructing a reference image for QEMU
  • Managing local.conf and bblayers.conf settings

Creating Your First BMC Image

  • Choosing an appropriate machine target
  • Executing bitbake obmc-phosphor-image
  • Analyzing the structure of build outputs
  • Flashing the generated image to physical hardware or QEMU

Customization and Configuration

  • Incorporating new machine layers
  • Adapting D-Bus interfaces using YAML descriptors
  • Configuring Entity Manager JSON for new hardware components
  • Editing systemd service files

Debugging and Troubleshooting

  • Analyzing build failures and bitbake debugging techniques
  • Utilizing journalctl on the BMC
  • Accessing via SSH and performing console-level debugging
  • Addressing common porting challenges and their solutions

Recent Developments and Modern Practices

  • Transitioning to C++ sdbusplus bindings
  • Introducing the new web UI (Vue.js) and bmcweb Redfish server
  • Implementing modern testing frameworks and CI integration

Requirements

  • Fundamental knowledge of Linux system administration
  • Basic familiarity with embedded systems principles
  • Practical experience with Git and version control workflows

Target Audience

  • Embedded firmware developers
  • System administrators handling server hardware
  • DevOps engineers overseeing data center infrastructure
 14 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories