Get in Touch

Course Outline

Introduction to OpenBMC

  • Understanding the Baseboard Management Controller (BMC)
  • The history of the OpenBMC project and its governance under the Linux Foundation
  • Supported platforms: x86, ARM, and OpenPOWER
  • Overview of the OpenBMC software stack

OpenBMC Architecture

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

Setting Up the Development Environment

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

Fundamentals of Yocto and BitBake

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

Building Your Initial BMC Image

  • Selecting an appropriate machine target
  • Executing bitbake obmc-phosphor-image
  • Navigating the build output layout
  • Flashing the image onto real 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
  • Accessing via SSH and console debugging techniques
  • Solutions for common porting issues

Recent Updates and Modern Practices

  • Transition to C++ sdbusplus bindings
  • The new web UI (Vue.js) and bmcweb Redfish server
  • Contemporary testing frameworks and CI integration

Requirements

  • Basic understanding of Linux system administration
  • Familiarity with embedded systems concepts
  • Experience with Git and version control

Audience

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

Testimonials (5)

Related Categories