【OpenBMC 系列】4.启动流程 使用qume模拟ast2600-evb

本文档详细介绍了如何使用QEMU安装和启动openbmc适配的qume以及Romulus镜像,包括下载QEMU和镜像文件,设置端口映射,启动BMC,并通过SSH、HTTPS和IPMI端口进行连接。此外,还提供了启用bmcweb的步骤,以及如何使用ssh连接到BMC。最后,介绍了QEMU的相关配置和启动选项。

1.安装openbmc适配的qume

Download and Start QEMU Session
  1. 下载最新的 QEMU 应用的 openbmc/qemu fork
wget https://jenkins.openbmc.org/job/latest-qemu-x86/lastSuccessfulBuild/artifact/qemu/build/qemu-system-arm

chmod u+x qemu-system-arm
  1. 下载 Romulus 镜像。
wget https://jenkins.openbmc.org/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd
  1. 使用下载的 Romulus 镜像启动 QEMU

** 注** - 要使 REST、SSH 和 IPMI 工作到您的 QEMU 会话中,您必须将一些主机端口连接到 QEMU 会话中的 REST、SSH 和 IPMI 端口。在这个例子中,它只使用 2222、2443、2623。你可以使用任何你喜欢的。

./qemu-system-arm -m 256 -M romulus-bmc -nographic \
    -drive file=./obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
    -net nic \
    -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostfwd=udp:127.0.0.1:2623-:623,hostname=qemu

- 默认情况下,Jenkins 和 openbmc-test-automation 分别使用 SSH 和 HTTPS 端口 22 和 443。对于 IPMI 端口 623 被使用。使用用户定义的端口 2222 的 SSH 连接可能不会成功。要使用 SSH 端口 22、HTTPS 端口 443 和 IPMI 端口 623:

./qemu-system-arm -m 256 -machine romulus-bmc -nographic \
    -drive file=./obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
    -net nic \
    -net user,hostfwd=:127.0.0.1:22-:22,hostfwd=:127.0.0.1:443-:443,hostfwd=tcp:127.0.0.1:80-:80,hostfwd=tcp:127.0.0.1:2200-:2200,hostfwd=udp:127.0.0.1:623-:623,hostfwd=udp:127.0.0.1:664-:664,hostname=qemu
  1. 等待基于 QEMU 的 BMC 启动

使用默认的 root/0penBmc 登录登录(注意 0 是零)。

  1. 检查系统状态

您会在控制台中看到很多服务启动,您可以开始运行 obmcutil 工具来检查 OpenBMC 状态服务的状态。当您看到以下内容时

使用 QEMU 模拟 Open BMC 是一种常见的开发和测试方法,尤其适用于没有实际 BMC 硬件的场景。以下是基于现有信息总结的步骤和方法: ### 3.1 准备工作 在开始之前,确保系统中已安装必要的依赖项,包括 QEMU 和相关的构建工具。如果使用的是 Linux 系统(如 Ubuntu),可以通过以下命令安装 QEMU: ```bash sudo apt-get install qemu-system-arm ``` 此外,还需准备 Open BMC 的固件镜像文件,通常为 `.mtd` 格式的镜像文件,例如 `obmc-phosphor-image-romulus.static.mtd`。该文件可以从 Open BMC 的构建环境中获取或自行构建 [^3]。 ### 3.2 启动 QEMU 模拟使用 QEMU 启动 Open BMC 的命令如下所示,该命令将映射本地端口以方便通过 SSH 和 HTTPS 访问 BMC 系统: ```bash sudo qemu-system-arm -m 256 -M romulus-bmc -nographic \ -drive file=./tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \ -net nic -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu ``` 上述命令中: - `-m 256` 设置内存大小为 256MB; - `-M romulus-bmc` 指定使用 Romulus BMC 平台; - `-drive` 参数指定镜像文件路径; - `-net` 配置网络,将本地端口 2222 映射到虚拟机的 SSH 端口 22,443 映射到 HTTPS 端口 [^1]。 ### 3.3 登录和访问 启动完成后,可以通过 SSH 连接到 QEMU 模拟BMC 系统: ```bash ssh root@127.0.0.1 -p 2222 ``` 默认情况下,Open BMC 的登录用户名为 `root`,密码为空或为 `0penBmc`(具体取决于镜像配置)。 此外,可以通过浏览器访问 `https://127.0.0.1:2443` 来使用 BMC 的 Web 界面进行管理 [^1]。 ### 3.4 构建和定制镜像 如果需要对 Open BMC 进行定制或开发新的功能,建议从源码构建镜像。Open BMC 使用 Yocto 项目进行构建,开发者可以从官方仓库克隆代码并配置构建环境: ```bash git clone https://github.com/openbmc/openbmc cd openbmc source setup-environment ``` 选择目标平台(如 `romulus`)后,运行 `bitbake` 构建镜像: ```bash DISTRO=openbmc-phosphor MACHINE=romulus bitbake openbmc-phosphor-image ``` 构建完成后,生成的镜像文件可用于 QEMU 启动 [^2]。 ### 3.5 调试和扩展 QEMU 提供了丰富的调试功能,例如 GDB 调试接口、日志输出等。可以在 QEMU 启动命令中添加 `-s` 参数启用 GDB 调试: ```bash sudo qemu-system-arm -s ... ``` 然后通过 GDB 连接到 QEMU 进行调试: ```bash gdb-multiarch (gdb) target remote :1234 ``` Open BMC 的模块化设计使得开发者可以独立地调试和扩展各个组件,如传感器监控、日志记录、网络管理等 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AiFool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值