Get in Touch

Course Outline

Introduction to OpenBMC

  • Definition of a Baseboard Management Controller (BMC)
  • History and governance of the OpenBMC project under the Linux Foundation
  • Supported platforms: x86, ARM, and OpenPOWER
  • Overview of the OpenBMC software stack for government use

OpenBMC Architecture

  • The Phosphor application framework and D-Bus integration
  • Systemd integration and service management for enhanced operational efficiency
  • Entity Manager and inventory management capabilities
  • Key repositories and component relationships within the OpenBMC ecosystem

Development Environment Setup

  • Installing dependencies on Ubuntu for government development environments
  • Using Docker containers to ensure reproducible builds in a controlled environment
  • Cloning the OpenBMC source tree for project collaboration and customization
  • Setting up Gerrit for effective code review processes

Yocto and BitBake Basics

  • OpenEmbedded layer structure, including meta-phosphor and meta-aspeed layers
  • Understanding recipes, bbappend files, and configuration files for government projects
  • Building a reference image for QEMU to facilitate testing and development
  • Working with local.conf and bblayers.conf for customized builds

Building Your First BMC Image

  • Selecting an appropriate machine target for your project
  • Running bitbake obmc-phosphor-image to generate the initial image
  • Understanding the build output layout for efficient deployment and troubleshooting
  • Flashing the image to real hardware or QEMU for testing and validation

Customization and Configuration

  • Adding new machine layers to support specific hardware requirements
  • Customizing D-Bus interfaces using YAML descriptors for tailored functionality
  • Entity Manager JSON configuration for integrating new hardware components
  • Modifying systemd service files to enhance system performance and reliability

Debugging and Troubleshooting

  • Addressing build failures and utilizing bitbake debugging tools
  • Using journalctl on the BMC for log analysis and issue resolution
  • SSH access and console debugging techniques for remote troubleshooting
  • Common porting issues and their solutions for government applications

Recent Updates and Modern Practices

  • Migration to C++ sdbusplus bindings for improved performance and security
  • Introduction of a new web UI using Vue.js and the bmcweb Redfish server for enhanced user experience
  • Integration of modern testing frameworks and continuous integration (CI) practices to ensure robust development cycles

Requirements

  • Demonstrated knowledge of Linux system administration
  • Familiarity with embedded systems principles
  • Experience with Git and version control practices

Audience for Government

  • Embedded firmware engineers supporting federal projects
  • System administrators managing server hardware in government agencies
  • DevOps engineers overseeing data center infrastructure for government operations
 14 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories