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