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
Testimonials (5)
experienced trainer
Monika Biskupska - Osrodek Przetwarzania Informacji - Panstwowy Instytut Badawczy
Course - Kubernetes Security Fundamentals (LFS460)
trainer has hands-on knowledge
- Osrodek Przetwarzania Informacji - Panstwowy Instytut Badawczy
Course - Kubernetes for App Developers (LFD459)
A very good and easy-to-use virtual solution (DA DESKTOP).
HEITOR GAVA - Motorola Solutions Ltda
Course - Quick Introduction to Hypervisor and KVM
Lots of exercises
Cesar - Centro Netec Chile
Course - Red Hat Enterprise Linux Automation with Ansible (RH294)
Tyler is very knowledgable and shared his valuable experience in Lustre administration with us.