Is this thing on? Using OpenBMC and ACPI power states for reliable server boot
Oct 22, 2024Nnamdi Ajah, Ryan Chow, Giovanni Pereira Zantedeschi

Summary
This post details the customization and extension of OpenBMC firmware to improve server boot reliability and diagnostics. It addresses issues where servers would not boot despite the BMC indicating power on, and where memory modules were randomly missed. The solution involves better management of BMC and UEFI interactions during the boot process, specifically by leveraging ACPI power states (S5_G2, S0_G0) for more accurate power status reporting and by analyzing i2c bus contention between the BMC and UEFI when accessing memory module SPD data. This allows for more reliable server boot-up and better diagnostics.
More from the Hardware Infrastructure & Performance Optimization trail
- How we reduced core unit boot time from hours to minutes
- A one-line Kubernetes fix that saved 600 hours a year
- Inside Gen 13- how we built our most powerful server yet
- Launching Cloudflare’s Gen 13 servers- trading cache for cores for 2x edge compute performance
- So long, and thanks for all the fish- how to escape the Linux networking stack