构建你的BMC
更新时间:2025/4/8
在Gitcode上查看源码快速上手是openUBMC的特色之一,在接下来的章节中,您将会逐渐地接触如何开发一些openUBMC中常见的场景。我们推荐根据如下的学习路线开展您的openUBMC之旅。
在本篇文档中,你将学习如何构建一个属于自己的bmc软件版本。
WARNING
在上手之前,请务必完成《环境准备》章节中的准备工作,避免因为环境配置错误导致无法继续。
获取manifest
NOTE
manifest是openUBMC中对产品的配置集,用于定义一款BMC产品具体使用的组件版本、三方库依赖关系、定制化构建脚本等。
具体请参考《产品构建》
如果已经获取manifest,可以跳过此步骤。
拉取manifest代码仓 执行git clone获取manifest代码
shell
git clone git@gitcode.com:openUBMC/manifest.git
整包构建
使用manifest能够自动化完成openUBMC的整包构建。通过使用bingo工具开启自动化构建流程。
shell
cd /home/workspace/manifest
bingo build
查看manifest/output文件夹下存在rootfs_openUBMC.hpm即为整包构建成功。
整包测试
仿真运行
openUBMC社区支持使用Qemu模拟BMC运行环境,减少对整机的依赖。
仿真包构建
在构建出包阶段,需要单独构建qmeu固件包。
shell
bingo build -sc qemu
通过查看manifest/output/packet/inner
文件夹下存在openUBMC_25.00.00.01_qemu.cpio.gz
即为构建成功。
shell
> ls /home/workspace/manifest/output/packet/inner
openUBMC_25.00.00.01_qemu.cpio.gz
仿真环境启动
openUBMC提供了python脚本,方便启动环境。
shell
cd /home/workspace/manifest
python3 build/works/packet/qemu_shells/vemake_1711.py
qemu启动后,会自动进入仿真BMC的串口环境及打印,和真实环境操作一致,这时可以通过串口登录BMC系统。
仿真环境初始化完毕后,可以通过任意方式访问BMC:
- web登录形式:https://ip:10443
- ssh登录方式:ssh Administrator@ip -p 10022
仿真环境端口映射:
ssh | web | ipmi | snmp |
---|---|---|---|
10022 | 10443 | 10623 | 10161 |