Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
Testimonials (3)
trainer has hands-on knowledge
- Osrodek Przetwarzania Informacji - Panstwowy Instytut Badawczy
Course - Kubernetes for App Developers (LFD459)
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Course - The Yocto Project - An Overview - hands-on
Practical excersises