Get in Touch

Course Outline

Introduction to the OpenBMC Framework

  • Definition and function of a Baseboard Management Controller (BMC)
  • Project evolution and oversight by the Linux Foundation
  • Supported architectural platforms: x86, ARM, and OpenPOWER
  • Comprehensive review of the OpenBMC software stack

OpenBMC Architectural Design

  • Phosphor application framework and D-Bus communication
  • Integration with systemd and service lifecycle management
  • Entity Manager functionality and hardware inventory tracking
  • Core repository structure and component interdependencies

Configuring the Development Environment

  • Installation of required dependencies on Ubuntu systems
  • Utilization of Docker containers to ensure build reproducibility
  • Retrieval of the OpenBMC source code tree
  • Configuration of Gerrit for standardized code review processes

Foundations of Yocto and BitBake

  • OpenEmbedded layer organization: meta-phosphor and meta-aspeed
  • Interpretation of recipes, bbappend mechanisms, and configuration files
  • Compilation of reference images for QEMU emulation
  • Management of local.conf and bblayers.conf settings

Compiling the Initial BMC Firmware Image

  • Selection of an appropriate machine target
  • Execution of the bitbake command for obmc-phosphor-image
  • Analysis of the build output directory structure
  • Deployment of the firmware image to physical hardware or virtual environments

Firmware Customization and Configuration Strategies

  • Incorporation of new machine-specific layers
  • Adjustment of D-Bus interfaces via YAML descriptor files
  • Entity Manager JSON configuration for proprietary hardware integration
  • Modification of systemd service definitions

Diagnostic Procedures and Troubleshooting

  • Resolution of build errors and bitbake debugging techniques
  • Utilization of journalctl for system log analysis on the BMC
  • Remote access via SSH and low-level console debugging
  • Identification and remediation of common porting challenges

Current Developments and Modern Best Practices

  • Transition to C++ sdbusplus binding standards
  • Implementation of the new Vue.js web interface and bmcweb Redfish server
  • Adoption of contemporary testing frameworks and CI pipeline integration

Requirements

  • Fundamental knowledge of Linux system administration
  • Proficiency in embedded systems design concepts
  • Competence with Git and version control workflows

Target Audience

  • Embedded firmware engineers
  • System administrators managing server hardware assets
  • DevOps engineers overseeing data center infrastructure for government agencies
 14 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories