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 the Baseboard Management Controller (BMC).
- History of the OpenBMC project and Linux Foundation governance.
- Supported platforms: x86, ARM, and OpenPOWER.
- Overview of the OpenBMC software stack.
OpenBMC Architecture
- The Phosphor application framework and D-Bus communication.
- Integration with systemd for service management.
- Entity Manager and inventory management functionalities.
- Key repositories and inter-component relationships.
Setting Up the Development Environment
- Installing necessary dependencies on Ubuntu.
- Leveraging Docker containers for reproducible builds.
- Cloning the OpenBMC source tree.
- Configuring Gerrit for code review processes.
Fundamentals of Yocto and BitBake
- Structure of OpenEmbedded layers: meta-phosphor, meta-aspeed.
- Comprehending recipes, bbappend files, and configuration settings.
- Constructing a reference image for QEMU emulation.
- Managing local.conf and bblayers.conf configurations.
Building Your First BMC Image
- Selecting the appropriate machine target.
- Executing bitbake obmc-phosphor-image.
- Interpreting the build output directory layout.
- Flashing the generated image onto real hardware or QEMU instances.
Customization and Configuration
- Incorporating new machine layers.
- Customizing D-Bus interfaces using YAML descriptors.
- Configuring Entity Manager JSON files for new hardware support.
- Modifying systemd service files as needed.
Debugging and Troubleshooting
- Addressing build failures and debugging with bitbake.
- Utilizing journalctl on the BMC system.
- Establishing SSH access and performing console debugging.
- Solving common porting issues and challenges.
Recent Updates and Modern Practices
- Migration to C++ sdbusplus bindings.
- New web UI (Vue.js) and bmcweb Redfish server implementations.
- Adoption of modern testing frameworks and CI integration techniques.
Requirements
- Fundamental knowledge of Linux system administration.
- General familiarity with embedded systems concepts.
- Practical experience with Git and version control systems.
Target Audience
- Embedded firmware engineers.
- System administrators managing server hardware.
- DevOps engineers responsible for data center infrastructure management.
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