Get in Touch

Course Outline

Introduction to OpenBMC

  • Understanding Baseboard Management Controllers (BMCs).
  • 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.
  • Integration of systemd and service management.
  • Entity Manager and inventory management.
  • Key repositories and component relationships.

Development Environment Setup

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

Yocto and BitBake Fundamentals

  • Structure of the OpenEmbedded layer: meta-phosphor, meta-aspeed.
  • Grasping recipes, bbappend files, and configuration files.
  • Constructing a reference image for QEMU.
  • Working with local.conf and bblayers.conf.

Constructing Your First BMC Image

  • Selecting a machine target.
  • Executing bitbake obmc-phosphor-image.
  • Understanding the layout of build outputs.
  • Flashing the image to real hardware or QEMU.

Customization and Configuration

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

Debugging and Troubleshooting

  • Addressing build failures and debugging with bitbake.
  • Utilizing journalctl on the BMC.
  • SSH access and console debugging.
  • Common porting challenges and solutions.

Recent Updates and Modern Practices

  • Migration 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.
  • Familiarity with concepts related to embedded systems.
  • Practical experience with Git and version control systems.

Target Audience

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

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories