OpenBMC Layer 介绍
在代码中每个 meta-xxx 就是一个 layer(层)
一、最顶层:基础系统层(通用linux)
这些是 Yocto 自带的,不是 OpenBMC 专属,提供最基础的 Linux 系统能力。
1. meta-poky
- 是什么:Yocto 官方参考发行版
- 干什么:最底层系统骨架
- 编译器、工具链、基础根文件系统
- 核心 Linux 命令、基础库
- 能否修改:绝对不要改
2. meta-openembedded
- 是什么:第三方开源软件大集合
- 干什么:通用软件配方仓库
- niginx、python、curl、network、usb、gpio 等通用驱动 / 工具
- 能否修改:一般不改
二、硬件层:芯片 / 平台相关(SoC 层)
对应你 BMC 用的处理器(如 ASpeed 2600/2700)
1.meta-aspeed
- 是什么:ASpeed 芯片 BSP 层
- 干什么:BMC 芯片驱动、启动、硬件支持
- UART、I2C、SPI、风扇、ADC、MAC 等驱动
- 设备树、U-Boot、内核配置
- 能否修改:只有硬件适配时才动
2.meta-nuvoton / meta-bcm
- 其他芯片厂商的 BSP 层,和 meta-aspeed 一样的作用
三、核心层:OpenBMC 灵魂(最重要)
1. meta-phosphor
- 是什么:OpenBMC 最核心层!所有 BMC 共用
- 干什么:
- D-Bus 框架
- IPMI、Redfish、WebUI
- 传感器、风扇、电源、日志、LED、KVM、升级
- 所有通用 BMC 业务逻辑
- 能否修改:社区代码不要改,自己的项目不要往里塞
功能扩展层:可选能力
1. meta-phosphor-deep
- 干什么:调式、性能、开发工具
- gdb、strace、tcpdump、valgrind
- 开发 / 调试镜像专用
2. meta-phosphor-network
- 干什么:网络相关增强功能
- VLAN、Link aggregation、NTP、DHCP 高级配置
3. meta-security
- 干什么:安全相关
- TPM、证书、加密、安全启动
五、厂商 / 机型层:你的项目层(你要改的)
1. meta-<厂商>-<机型>
这一层 = 你的项目!
例如:
- meta-yours-common
- meta-yours-board1
- meta-yours-board2
- 干什么:硬件定制、项目专属配置
- 设备树
- 内核补丁
- GPIO 配置
- 风扇曲线、传感器配置
- 开机 LOGO、产品名称
- 能不能改:这一层就是给你改的!
六、用一张图秒懂层级关系(从上到下依赖)
你的项目层 meta-my-board
↑
meta-phosphor(OpenBMC核心)
↑
meta-aspeed(芯片驱动)
↑
meta-openembedded(通用软件)
↑
meta-poky(最底层系统)
322

被折叠的 条评论
为什么被折叠?



