26.06的搭建qemu进不去ssh,telnet和web也类似

问题描述

26.06的搭建qemu进不去ssh,telnet和web也类似

先使用

wget https://repo.openubmc.cn/26.06/sdk/bmc_sdk.zip -O /home/workspace/bmc_sdk_26.06.zip
python3 init.py -path /home/workspace/bmc_sdk_26.06.zip -user xxx -psw 'xxx'

python3 build/works/packet/qemu_shells/vemake_1711.py


可以ssh和telnet以及web访问,但进入发现Connector只加载了EXU,其他的没有加载起来。

参考 qemu没有看到pcie card信息 ,然后补充了另外两个命令

bingo build -b openUBMC -bt debug -ucc
bingo build -sc qemu

这样进行构建后,再次使用python3 build/works/packet/qemu_shells/vemake_1711.py 发现其他Connector对象加载起来了,但ssh和telnet这些进不去了

环境信息

  • 操作系统: Ubuntu 24.04

  • 软件版本:OpenUBMC2606

重现步骤

使用 swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06 镜像,下载manifest代码,切换到2606分支git checkout br_release_openUBMC2606_20260930

执行


wget https://repo.openubmc.cn/26.06/sdk/bmc_sdk.zip -O /home/workspace/bmc_sdk_26.06.zip
python3 init.py -path /home/workspace/bmc_sdk_26.06.zip -user xxx -psw 'xxx'

bingo build -b openUBMC -bt debug -ucc
bingo build -sc qemu
python3 build/works/packet/qemu_shells/vemake_1711.py



启动完成,看到提示 iBMC login 之后,可以登录。

使用netstat -anp | grep 10看都绑定端口到0.0.0.0地址了

但使用ssh尝试使用 127.0.0.1 和 172.17.0.7 都提示

kex_exchange_identification: read: Connection reset by peer
Connection reset by 172.17.0.7 port 10022

image

使用telnet 访问没有反应

期望结果

ssh、telnet、web可以登录进去

实际结果

ssh、telnet、web登录不进去

答案内容由AI生成,仅供参考:
(未检测到明确标有“问题总结”、“解决方案”或“结论”字样的章节,返回空内容。)

点击此处查看详细分析解答

根据您提供的上下文信息,针对 OpenUBMC 26.06 QEMU 仿真环境搭建后 SSH、Telnet、Web 均无法登录 的问题,可以从社区已知案例、FAQ 文档及版本回退建议进行分析。

问题分析

您的操作步骤中,首次使用 SDK 包(bmc_sdk_26.06.zip)搭建环境时 SSH、Telnet、Web 可以访问,但 Connector 加载不全;随后您参考帖子执行了 bingo build -b openUBMC -bt debug -uccbingo build -sc qemu,导致其他 Connector 可加载,但 SSH、Telnet、Web 全部无法访问。

这属于 QEMU 仿真环境配置与构建方式变化引起的连接服务异常,并非简单的端口配置问题。

已知问题与排查步骤

1. Slirp 网络故障(已知问题)

QEMU 启动后无法访问 SSH 与 Web 时,日志中常见以下报错:

qemu-system-aarch64-release: Slirp: Failed to send packet, ret: -1

社区帖子(topic 7045)明确指出,该问题已识别,属于业务代码问题,与 RTOS 版本、manifest 版本无关。官方答复为:

  • 需要等待新版本修复
  • 目前可行的办法是 reset 到 6 月初的版本出包后拉起 QEMU(即回到一个相对稳定的版本)。

因此,在您构建方式改变后出现的连接失败,很可能与这一已知代码缺陷有关。

2. 排查 Web 服务(nginx)启动状态

根据 QEMU FAQ 文档,SSH 和 IPMI 的启动时间会比 Web 快,Web 连不通可能只是因为 nginx 尚未完全拉起

您可以尝试:

  1. 登录 SSH:ssh Administrator@localhost -p 10022
  2. 进入 Telnet:/data/home/busybox_x telnet localhost
  3. 查看 nginx 服务是否启动:netstat -ntlpa

如果 nginx 未启动,可再等待几秒;若仍不行,请保持默认 config 文件内容删除 manifest 临时目录(temp)和 output 目录后重新拉起 QEMU。

3. 回退到稳定版本构建

鉴于官方建议在问题修复前使用 6 月初的版本,您可尝试:

# 查看 git log,找到 6月初的提交
git log
# 回退到该提交后重新出包
git reset <commit-id>
bingo build -sc qemu
python3 build/works/packet/qemu_shells/vemake_1711.py

建议

  1. 优先对比两种构建方式:您使用 SDK 包时服务可访问,但构建后无法访问,说明差异在构建产物本身。建议先清理所有临时目录,重新完整构建一次。
  2. 关注社区已知问题:当前 openUBMC 26.06 的 QEMU 环境存在已知的 Slirp 网络故障,官方尚未发布修复版本,若前述排查无效,建议回退代码版本。
  3. 检查端口绑定:您已用 netstat -anp 确认端口绑定在 0.0.0.0,但仍需确认 QEMU 内部服务的实际监听状态(通过 Telnet 进入内部 Shell 查看)。

如果以上方法仍无法解决,请耐心等待社区发布修复版本,或参考论坛中已标记的解决方案(如 topic 7045)获取最新进展。

通过/data/home/busybox_x telnet localhost进入,查看ip 只有一个127.0.0.1

类似问题:

切换到2609,使用最新manifest,锁定qemu_mockup/0.0.90@openubmc/stable版本后,qemu构建成功,可以telnet进入了

命令如下:

wget https://repo.openubmc.cn/26.09_test/sdk/bmc_sdk.tar.gz -O /home/workspace/bmc_sdk_26.09.tar.gz
python3 init.py -path /home/workspace/bmc_sdk_26.09.tar.gz -user xxx-psw 'xxx'
bingo build -b openUBMC -bt debug -ucc
bingo build -sc qemu
python3 build/works/packet/qemu_shells/vemake_1711.py


qemu_run.zip (29.2 KB)

这个是qemu运行保存的日志