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
  • High-level overview of the OpenBMC software stack

OpenBMC Architecture

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

Development Environment Setup

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

Yocto and BitBake Fundamentals

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

Building Your First BMC Image

  • Selecting an appropriate machine target
  • Executing bitbake obmc-phosphor-image
  • Analyzing the build output directory structure
  • Flashing the image to either 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 as needed

Debugging and Troubleshooting

  • Troubleshooting build failures and using bitbake debug tools
  • Utilizing journalctl on the BMC
  • Accessing via SSH and console debugging techniques
  • Addressing common porting issues with practical solutions

Recent Updates and Modern Practices

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

Requirements

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

Target Audience

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

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories