Get in Touch

Course Outline

Introduction to OpenBMC

  • Definition and role of a Baseboard Management Controller (BMC)
  • History of the OpenBMC project and Linux Foundation governance
  • Supported platforms: x86, ARM, and OpenPOWER
  • Survey of the OpenBMC software stack

OpenBMC Architecture

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

Development Environment Setup

  • Installing dependencies on Ubuntu
  • Utilizing Docker containers for reproducible builds
  • Cloning the OpenBMC source repository
  • Configuring Gerrit for code review processes

Fundamentals of Yocto and BitBake

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

Creating Your Initial BMC Image

  • Selecting an appropriate machine target
  • Executing bitbake obmc-phosphor-image
  • Navigating the build output directory structure
  • Flashing the image onto real hardware or QEMU emulation

Customization and Configuration

  • Incorporating new machine layers
  • Tailoring D-Bus interfaces using YAML descriptors
  • Configuring Entity Manager JSON for new hardware support
  • Modifying systemd service files

Debugging and Troubleshooting

  • Addressing build failures and debugging bitbake
  • Utilizing journalctl on the BMC
  • Establishing SSH access and performing console debugging
  • Tackling common porting issues and their solutions

Recent Updates and Modern Practices

  • Transition to C++ sdbusplus bindings
  • New web UI (Vue.js) and bmcweb Redfish server implementation
  • Modern testing frameworks and CI integration techniques

Requirements

  • Fundamental knowledge of Linux system administration
  • Familiarity with embedded systems principles
  • Experience utilizing Git and version control systems

Audience

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

Testimonials (5)

Upcoming Courses

Related Categories