OpenBMC (WIP)¶
OpenBMC là firmware BMC mã nguồn mở của Linux Foundation, build bằng Yocto. Tổng quan về BMC xem tại BMC Overview.
Tổng quan¶
TODO
- Lịch sử: Facebook, IBM, Google, Intel, Microsoft; dự án Linux Foundation từ 2018
- Các SoC được hỗ trợ: ASPEED AST2500/AST2600/AST2700, Nuvoton NPCM7xx/NPCM8xx
- Các máy dùng OpenBMC
Kiến trúc phần mềm¶
TODO
- systemd và D-Bus làm xương sống, sdbusplus, phosphor-dbus-interfaces
- Các daemon
phosphor-*: state manager, sensor (dbus-sensors), fan control, logging bmcweb(Redfish, web UI),phosphor-host-ipmid/ipmid,obmc-console(SOL)- Entity Manager và cấu hình JSON cho từng board
Build¶
TODO
- Cấu trúc layer
meta-*, chọn machine (setup <machine>) bitbake obmc-phosphor-image- Chạy thử bằng QEMU (
qemu-system-arm -M ast2600-evb) - Xem thêm Yocto Overview
Boot và cập nhật firmware¶
TODO
- U-Boot trên ASPEED, layout SPI flash (static, UBI, eMMC)
- Cập nhật firmware BMC và BIOS host
- Xem thêm U-Boot
Porting cho board mới¶
TODO
- Device tree của BMC: I2C, GPIO, PWM/tach, KCS, LPC
- Meta layer riêng cho board
References¶
- OpenBMC Documentation - github.com/openbmc