【OpenBMC 系列】4.启动流程 使用qume模拟ast2600-evb
默认情况下,Jenkins和openbmc-test-automation分别使用SSH和HTTPS端口22和443。**注**-要使REST、SSH和IPMI工作到您的QEMU会话中,您必须将一些主机端口连接到QEMU会话中的REST、SSH和IPMI端口。您会在控制台中看到很多服务启动,您可以开始运行obmcutil工具来检查OpenBMC状态服务的状态。SSH端口22、HTTPS端口443和
1.安装openbmc适配的qume
Download and Start QEMU Session
- 下载最新的 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
- 下载 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
- 使用下载的 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
- 等待基于 QEMU 的 BMC 启动
使用默认的 root/0penBmc 登录登录(注意 0 是零)。
- 检查系统状态
您会在控制台中看到很多服务启动,您可以开始运行 obmcutil 工具来检查 OpenBMC 状态服务的状态。当您看到以下内容时,您已成功启动到“就绪”状态。
root@openbmc:~# obmcutil state
CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.Ready
CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.Off
CurrentHostState : xyz.openbmc_project.State.Host.HostState.Off
Note 要退出(并终止)您的 QEMU 会话,请运行:ctrl+a x
2.启动bmc
使用openbmc官方镜像启动
如果没有编译出镜像,可以先试用openbmc官方提供的lastsuccessbuild镜像测试,先去下载:https://jenkins.openbmc.org/job/latest-master/lastSuccessfulBuild/label=docker-builder,target=romulus/
启动命令:
./qemu-system-arm -m 256 -M romulus-bmc -nographic -drive file=/home/test/Documents/openbmc_ws/obmc-phosphor-image-romulus-20211214025233.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
使用自己编译的镜像启动
我这里启动之前的步骤中编译出的ast2600-evb
./qemu-system-arm -m 1024 -M ast2600-evb -nographic -drive file=/home/test/Documents/openbmc_ws/openbmc/build/evb-ast2600/tmp/deploy/images/evb-ast2600/obmc-phosphor-image-evb-ast2600.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
3.使用bmc web
3.1 可以看到上一步中的启动方式是用的端口映射方式启动的,如果使用官方的镜像,输入:https://127.0.0.1:2443/
3.2 如果使用ast2600-evb,默认使用redfish:
3.3 如果使用ast2600-evb,启用bmc web的步骤:
phosphor-webui软件包编译所依赖的AngularJS已经停止维护,所以这里使用webui-vue:
修改~/openbmc/build/evb-ast2600/conf/local.conf,添加:
CORE_IMAGE_EXTRA_INSTALL += "webui-vue"
新建文件 ~/openbmc/meta-phosphor/recipes-phosphor/image/obmc-phosphor-image.bbappend,写入配置:
OBMC_IMAGE_EXTRA_INSTALL_${MACHINE} += "webui-vue"
新建文件 ~/openbmc/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend,写入配置:
RDEPENDS_${PN}-inventory_${MACHINE} += "webui-vue"
然后重新编译并启动:
bitbake obmc-phosphor-image -c clean
bitbake obmc-phosphor-image
4.使用ssh连接bmc
SSH 端口 22、HTTPS 端口 443 和 IPMI 端口 623
ssh -p 2222 root@127.0.0.1
更多推荐
所有评论(0)