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 and function of a Baseboard Management Controller (BMC)
- History of the OpenBMC project and governance by the Linux Foundation
- Supported hardware platforms: x86, ARM, and OpenPOWER
- Summary of the OpenBMC software stack
OpenBMC Architecture
- The Phosphor application framework and D-Bus communication
- Integration with systemd for service management
- Role of the Entity Manager in inventory management
- Key repositories and their inter-component relationships
Setting Up the Development Environment
- Installing necessary dependencies on Ubuntu
- Leveraging Docker containers to ensure reproducible builds
- Cloning the OpenBMC source repository
- Configuring Gerrit for code review processes
Basics of Yocto and BitBake
- Structure of the OpenEmbedded layer, including meta-phosphor and meta-aspeed
- Understanding recipes, bbappend files, and configuration settings
- Constructing a reference image for QEMU
- Managing local.conf and bblayers.conf files
Creating Your First BMC Image
- Choosing a machine target
- Executing the command 'bitbake obmc-phosphor-image'
- Navigating the build output directory structure
- Flashing the generated image onto real hardware or QEMU
Customization and Configuration
- Incorporating new machine layers
- Tailoring D-Bus interfaces using YAML descriptors
- Configuring the Entity Manager via JSON 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
- Accessing via SSH and performing console debugging
- Common porting challenges and their solutions
Recent Updates and Modern Practices
- Transition to C++ sdbusplus bindings
- Introduction of the new web UI (built with Vue.js) and the bmcweb Redfish server
- Modern testing frameworks and Continuous Integration (CI) integration
Requirements
- Foundational knowledge of Linux system administration
- Knowledge of embedded systems principles
- Proficiency in using Git and version control systems
Target Audience
- Firmware engineers working with embedded systems
- System administrators managing server hardware
- DevOps engineers responsible for data center infrastructure
14 Hours
Testimonials (4)
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
Tyler is very knowledgable and shared his valuable experience in Lustre administration with us.