Get in Touch

Course Outline

Introduction to OpenBMC

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

OpenBMC Architecture

  • Phosphor application framework and D-Bus integration
  • Systemd integration and service management
  • Entity Manager and inventory management functions
  • Key repositories and relationships between components

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

Yocto and BitBake Essentials

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

Creating Your First BMC Image

  • Selecting a machine target
  • Executing bitbake obmc-phosphor-image
  • Interpreting the build output 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 components
  • Modifying systemd service files

Debugging and Troubleshooting

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

Recent Updates and Contemporary Practices

  • Transition to C++ sdbusplus bindings
  • Introduction of the new web UI (Vue.js) and bmcweb Redfish server
  • Modern testing frameworks and continuous integration (CI) integration

Requirements

  • Fundamental knowledge of Linux system administration
  • Awareness of embedded systems principles
  • Proficiency with Git and version control systems

Target Audience

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

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories