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
- Defining the Baseboard Management Controller (BMC)
- Historical context of the OpenBMC project and Linux Foundation governance
- Supported platforms including x86, ARM, and OpenPOWER
- High-level view of the OpenBMC software stack
OpenBMC Architecture
- The Phosphor application framework and D-Bus integration
- Systemd integration for service management
- Entity Manager and inventory management mechanisms
- Key repositories and the relationships between components
Setting Up the Development Environment
- Installing necessary dependencies on Ubuntu
- Leveraging Docker containers for consistent builds
- Cloning the OpenBMC source code tree
- Configuring Gerrit for code review processes
Foundations of Yocto and BitBake
- OpenEmbedded layer structure, specifically meta-phosphor and meta-aspeed
- Interpreting recipes, bbappend, and configuration files
- Constructing a reference image for QEMU
- Managing local.conf and bblayers.conf settings
Creating Your First BMC Image
- Choosing an appropriate machine target
- Executing bitbake obmc-phosphor-image
- Analyzing the structure of build outputs
- Flashing the generated image to physical hardware or QEMU
Customization and Configuration
- Incorporating new machine layers
- Adapting D-Bus interfaces using YAML descriptors
- Configuring Entity Manager JSON for new hardware components
- Editing systemd service files
Debugging and Troubleshooting
- Analyzing build failures and bitbake debugging techniques
- Utilizing journalctl on the BMC
- Accessing via SSH and performing console-level debugging
- Addressing common porting challenges and their solutions
Recent Developments and Modern Practices
- Transitioning to C++ sdbusplus bindings
- Introducing the new web UI (Vue.js) and bmcweb Redfish server
- Implementing modern testing frameworks and CI integration
Requirements
- Fundamental knowledge of Linux system administration
- Basic familiarity with embedded systems principles
- Practical experience with Git and version control workflows
Target Audience
- Embedded firmware developers
- System administrators handling 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