Openbmc Overview
Total Page:16
File Type:pdf, Size:1020Kb
Andrew Geissler [email protected] What is a BMC? ▶ BMC – Baseboard Management Controller ▶ Separate uproc (eg. AST 2500) with dedicated RAM and Flash ▶ Provides ▶ System Power/thermal control ▶ Out of Band management ▶ IPMI, REST, etc ▶ Data collection ▶ Debug ▶ GUI and Command line ▶ Interfaces to Host/OCC ▶ System error logging ▶ Based on OpenEmbedded technologies built via Yocto ▶ Embedded Linux stack ▶ Linux Kernel 4.10….4.18, Yocto 2.3…2.6, python, SSH ▶ Applications communicate via D-Bus ▶ Users communicate via REST, IPMI and GUI ▶ Reports externally to management entity ▶ No customer network functional interaction What is the OpenBMC Project Free open source software management Linux distribution designed for the embedded environment … OpenPOWER Eco-system Enablement Industry Collaboration Quality Solutions Reduce Redundant Effort Openness -- provides proof of security Part of Linux Foundation What is OpenBMC ▶ 100% compatible with OpenPOWER Hostboot/Opal/OCC ▶ Aka BIOS ▶ https://github.com/open-power/op-build ▶ Can simply be a reference implementation ▶ Currently runs on… ▶ Barreleye, S822LC, S822LC For HPC, P8 Reference ▶ Witherspoon -- P9 AC922LC Power AI and CORAL ▶ P9 reference boards ▶ AST2400 and AST2500 BMC hardware Core Infrastructure of the OpenBMC Project Control the Functions in your OpenBMC… ▶ Built on Yocto-Linux ▶ YAML/XML input for system configuration Infrastructure at the ready ▶ Process management Systemd ▶ IPC via D-Bus ▶ External Interfaces via REST, IPMI, GUI ▶ Journaling for Trace/debug ▶ Code update ▶ Code stack security OpenBMC development customizations Data Driven approach ▶ Recipes for pulling in desired functions - Modularity ▶ Hardware configuration ▶ IPMI entity IDs and Sensor Definitions ▶ Define environmental limits ▶ Human readable properties Views of Community Success ▶ Core enables industry to produce solutions ▶ Feature advances come from everywhere ▶ Google, IBM, Facebook, Microsoft, Intel, etc ▶ System management software supports OpenBMC ▶ Diverse architectures can be managed similarly in the datacenter ▶ Developer Training and Full Devops Environment ▶ Prebuilt images (QEMU, various platforms) with automated Build Verification ▶ Use of Gerrit for Code Reviews ▶ Use of QEMU Simulation OpenBMC Community Links Code: Contacts: https://github.com/openbmc ▶ Mail: [email protected]/listinfo/openbmc IRC: #openbmc on freenode.net Continuous Testing: ▶ Riot: #openbmc:matrix.org https://openpower.xyz Servers provided by Rackspace, IBM, Google, ITRenew OpenBMC Tutorials: ▶ https://github.com/openbmc/docs/development Code Reviews: ▶ Development Environment Setup ▶ Hello World with the SDK http://gerrit.openbmc-project.xyz ▶ Web UI Customization ▶ Creating a new System Monday Community Call: https://github.com/openbmc/openbmc/wiki/Wee kly-Community-Telecon#access-information Backup What is D-Bus § Inter-Process Communication (IPC) mechanism § Well defined interfaces between applications/processes • Modularity, Encapsulation, Abstraction ▶ Rapid community collaboration ▶ Rapid Prototyping ▶ Bindings for C/C++, Python, etc ▶ Complete IPC integration with systemd Without D-Bus With D-Bus User Interface – Systems Overview ▶ Client Rendered ▶ HTML5 ▶ No java User Interface - Login Prebuilt images Automated Build Verification • Dedicated Test Development Team • Every commit… tested Code Reviews Simulation (QEMU) == No Hardware Required AST2400 and AST2500 supported.