Get in Touch

Course Outline

Introduction to OpenBMC

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

OpenBMC Architecture

  • Phosphor application framework and D-Bus communication
  • Systemd integration and service management
  • Entity Manager and inventory management
  • Key repositories and component relationships

Setting Up the Development Environment

  • Installing dependencies on Ubuntu
  • Using Docker containers for consistent builds
  • Cloning the OpenBMC source code repository
  • Configuring Gerrit for code review

Fundamentals of Yocto and BitBake

  • OpenEmbedded layer structure: meta-phosphor and meta-aspeed
  • Understanding recipes, bbappend files, and configuration settings
  • Compiling a reference image for QEMU
  • Working with local.conf and bblayers.conf

Building Your Initial BMC Image

  • Selecting a machine target
  • Executing bitbake obmc-phosphor-image
  • Interpreting the build output directory structure
  • Flashing the image to physical hardware or QEMU

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 with bitbake
  • Utilizing journalctl on the BMC
  • SSH access and console debugging techniques
  • 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
  • Modern testing frameworks and CI integration

Requirements

  • Fundamental knowledge of Linux system administration
  • Understanding of embedded systems concepts
  • Experience using Git and version control systems

Target Audience

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

Testimonials (3)

Related Categories