Get in Touch

Course Outline

Introduction to OpenBMC

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

OpenBMC Architecture

  • The Phosphor application framework and D-Bus communication.
  • Integration with systemd for service management.
  • Entity Manager and inventory management functionalities.
  • Key repositories and inter-component relationships.

Setting Up the Development Environment

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

Fundamentals of Yocto and BitBake

  • Structure of OpenEmbedded layers: meta-phosphor, meta-aspeed.
  • Comprehending recipes, bbappend files, and configuration settings.
  • Constructing a reference image for QEMU emulation.
  • Managing local.conf and bblayers.conf configurations.

Building Your First BMC Image

  • Selecting the appropriate machine target.
  • Executing bitbake obmc-phosphor-image.
  • Interpreting the build output directory layout.
  • Flashing the generated image onto real hardware or QEMU instances.

Customization and Configuration

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

Debugging and Troubleshooting

  • Addressing build failures and debugging with bitbake.
  • Utilizing journalctl on the BMC system.
  • Establishing SSH access and performing console debugging.
  • Solving common porting issues and challenges.

Recent Updates and Modern Practices

  • Migration to C++ sdbusplus bindings.
  • New web UI (Vue.js) and bmcweb Redfish server implementations.
  • Adoption of modern testing frameworks and CI integration techniques.

Requirements

  • Fundamental knowledge of Linux system administration.
  • General familiarity with embedded systems concepts.
  • Practical experience with Git and version control systems.

Target Audience

  • Embedded firmware engineers.
  • System administrators managing server hardware.
  • DevOps engineers responsible for data center infrastructure management.
 14 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories