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
- Understanding Baseboard Management Controllers (BMCs)
- The history of the OpenBMC project and its governance under the Linux Foundation
- Supported hardware platforms: x86, ARM, and OpenPOWER
- An overview of the OpenBMC software stack
OpenBMC Architecture
- The Phosphor application framework and D-Bus messaging
- Integration with Systemd for service management
- Entity Manager functionalities and inventory tracking
- Key repositories and inter-component relationships
Setting Up the Development Environment
- Installing necessary dependencies on Ubuntu
- Leveraging Docker containers to ensure reproducible builds
- Cloning the OpenBMC source code repository
- Configuring Gerrit for efficient code review processes
Essentials of Yocto and BitBake
- Navigating the OpenEmbedded layer structure: meta-phosphor, meta-aspeed
- Comprehending recipes, bbappend files, and configuration settings
- Constructing a reference image for QEMU emulation
- Managing local.conf and bblayers.conf files effectively
Constructing Your Initial BMC Image
- Selecting an appropriate machine target
- Executing the bitbake command for obmc-phosphor-image
- Interpreting the build output directory structure
- Flashing the generated image onto physical hardware or QEMU instances
Customization and Configuration Strategies
- Introducing new machine layers into the system
- Tailoring D-Bus interfaces using YAML descriptors
- Configuring Entity Manager JSON for integration with new hardware
- Modifying systemd service files as required
Debugging and Troubleshooting Techniques
- Troubleshooting build failures and debugging with bitbake
- Utilizing journalctl logs on the BMC system
- Establishing SSH access and performing console-level debugging
- Addressing common porting challenges and their solutions
Recent Updates and Modern Practices
- Transitioning to C++ sdbusplus bindings for improved performance
- Exploring the new web UI (Vue.js) and the bmcweb Redfish server
- Implementing modern testing frameworks and continuous integration (CI) workflows
Requirements
- Fundamental knowledge of Linux system administration
- Familiarity with embedded systems concepts
- Proficiency in Git and version control mechanisms
Target Audience
- Embedded firmware engineers
- System administrators managing server hardware
- DevOps engineers overseeing data center infrastructure
14 Hours
Testimonials (2)
Very informative and the trainers kept it fun.
Mohd Shahroni Hj Timbang - ITPSS Sdn Bhd
Course - Ubuntu Server Administration and Centralized Identity Management
experienced trainer