已合并
解决qemu镜像拉起失败问题 #1985
解决qemu镜像拉起失败问题 #1985
已合并
xuhaijun创建于 9月11日
xuhaijun
xuhaijun成员
9月11日

当前PR是否有AI参与:

    1. AI Agent 平台: Claude Code 2.1.178
    2. AI 模型: GLM (glm-5.3-flash)
    3. Prompt上下文: 解决qemu镜像拉起失败问题——调整 manifest qemu_image 依赖配置、升级 qemu_mockup 版本、重构 work_build_qemu_rootfs.py 启动脚本适配逻辑

PR功能描述 / 为什么需要这个合入:

本 PR 从 xuhj/fix/qemu-image-boot-fail 分支合并到 br_release_openUBMC2512_20261231_LTS,包含 1 个提交,修改 3 个文件。

变更类型

修改方案:

  1. manifest.yml:qemu_image 依赖改用 default_options 统一开启 qemu 选项(替代对 fructrl/general_hardware/nsm/bmc_network 逐包配置)。
  2. hardware.yml:qemu_mockup 组件版本 0.0.50 → 0.0.88。
  3. work_build_qemu_rootfs.py:
    • 删除对 rc.sysinit、S11/S12/S16*.sh、data_fs_check.sh、partition_migrate.sh 等 17+ 个文件按固定行号裁剪的 sed 逻辑(上游脚本一旦变更即错删或失效);
    • rc-local.service:Type=forking 改为 Type=oneshot,并将输出重定向到 ttyS0,解决 rc.local 前台脚本导致 systemd 启动阻塞且无日志可定位的问题(qemu 拉起失败的直接原因);
    • insmod_9p_vfs.sh 的插入改为锚点匹配(^mount -t tmpfs -o nodev tmpfs /dev/shm$)并增加前置存在性校验,避免误插入到函数定义处;
    • 打包流程修正:uImage 提取偏移改为 bs=64 skip=1(与原 bs=1 skip=64 等价但效率更高)、产物统一输出到 output_path/qemu、削减非必要的 sudo 调用。

验证方案:

使用本 PR 构建出的 QEMU rootfs 镜像拉起 QEMU,验证 BMC 服务正常启动、Web/Redfish 可访问。

测试建议:

  • bingo build 重新出 QEMU 镜像,验证 QEMU 正常拉起、systemd 无启动阻塞;
  • 关注 rc-local.service 修改(Type=oneshot + 串口输出)对启动流程的影响;
  • 验证 9p vfs 模块加载正常(/opt/bmc/insmod_9p_vfs.sh 在主启动流程前执行)。

自验证报告:

该PR关联的issue

(格式为 fixes #<issue号>, 或者resolves #<issue号>): fixes #338

希望检视人员了解:

本 PR 删除了大批按行号 sed 修改启动脚本的兼容逻辑,若 QEMU 镜像依赖上游脚本的特定行为,请重点确认 rc-local.service 修改与 9p vfs 插入锚点部分。关联任务 Issue #338(优化QEMU仿真环境的功能与易用性)。


2026-09-11

likedislike
Pull Request已成功合入, 合并人@openUBMC-robot
(感谢 xuhaijun 的贡献)
xuhaijunxuhaijun成员
9月11日 关联了issue:[任务] 优化QEMU仿真环境的功能与易用性
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:sig/sig-CICD
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

欢迎来到 openUBMC 社区

Hey @xuhaijun , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅机器人自助配置使用手册。

联系指引

有疑问可以联系 SIG: sig-CICD ,
维护者是: @DataSculptor, @xuhaijun, @zybwh ,
优秀贡献者是: @Larry_Li_006, @Polaris404, @WeberChen, @ZanthoxylumLeaf, @chendanming, @huangjiapei, @loopvoid, @wwhh_wwhh, @zhangbaocun .

likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ai-co-authored
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ai-includes-code
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:openUBMC-cla/yes
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

/ai review

likedislike
atomgit-bot
atomgit-bot成员
9月11日 评论:

🤖 本次改动均为数据 / 生成 / 二进制文件(如测试用例、锁文件、媒体资源),没有可审查的代码逻辑,已跳过 AI 代码审查。

likedislike
不准确?
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

The pipeline(pipeline number:1014) is running. >>> Check Pipeline <<<.Please wait a moment...

likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ci-running
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ai-compliance-successful
xuhaijunxuhaijun成员
9月11日 强制推送  1 个提交:51c09534-解决qemu镜像拉起失败问题
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:openUBMC-cla/yes
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:openUBMC-cla/yes
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

CLA 签署成功

xuhaijun, 感谢您的代码贡献。 所有的代码贡献者都已完成了 CLA 签署。 👍

likedislike
xuhaijunxuhaijun成员
9月11日 修改了pull request 的描述
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

The pipeline(pipeline number:1015) is running. >>> Check Pipeline <<<.Please wait a moment...

likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ci-running
openUBMC-robot
openUBMC-robot成员
9月11日 评论:
任务名称结果
pre-commit检查N/A
PR描述检查N/A
防投毒检查✅SUCCESS
开源合规检查N/A
编译构建N/A
依赖校验N/A
修改行数检查N/A
build_1712N/A
likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ci-failed
openubmc-ci-bot成员
9月11日 评论:
流水线 PR-pipeline_manifest#1014 [ commitID:67fdea98 ] 已终止运行
⚠️ 流水线执行结果已过期,当前 PR 最新 commit 为 51c09534,请重新运行流水线
likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ai-compliance-successful
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ai-compliance-failed
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

AI Declaration Check Failed

@xuhaijun, AI declaration is not compliant. AI tool: Claude Code

Please check:

  1. The AI tool and model declared in the PR description must be real.
  2. Commit messages must include the AI model, and it must be consistent with the PR description.

Details: AI Coding Assistants. ⚠️

likedislike
xuhaijun
xuhaijun成员
9月11日 评论:

验证报告,操作步骤:

  1. 更新manifest代码,创建临时目录mkdir ~/bmc_sdk_download/
  2. 下载SDK: wget https://repo.openubmc.cn/25.12-LTS-SP3/sdk/bmc_sdk.zip -O ~/bmc_sdk_download/bmc_sdk_25.12-LTS-SP3.zip
  3. 进入manifest目录,初始化init.py: python3 init.py -path ~/bmc_sdk_download/bmc_sdk_25.12-LTS-SP3.zip
  4. 构建镜像: bingo publish -sc qemu
  5. 上传构建生成的仿真镜像 output/openUBMC_qemu_default.data.gz到kunpeng服务器,如/tmp/ output/openUBMC_qemu_default.data.gz
  6. 在kunpeng服务器安装最新的bingo(测试时最新版本为0.8.23)
  7. 拉起镜像: cd /tmp && bingo qemu -i openUBMC_qemu_default.data.gz
  8. 验证telnet连接情况:
    image.png
  9. 验证ssh连接情况:
    image.png
  10. 验证https连接情况:
    image.png
likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ci-failed
openUBMC-robot
openUBMC-robot成员
9月11日 评论:
任务名称结果
pre-commit检查✅SUCCESS
PR描述检查✅SUCCESS
防投毒检查✅SUCCESS
开源合规检查✅SUCCESS
编译构建✅SUCCESS
依赖校验✅SUCCESS
修改行数检查✅SUCCESS
build_1712❌FAILED
likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ci-failed
openubmc-ci-bot成员
9月11日 评论:
流水线 PR-pipeline_manifest#1015 [ commitID:51c09534 ] 运行失败
likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ci-failed
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ci-successful
xuhaijunxuhaijun成员
9月11日 修改了pull request 的描述
xuhaijun
xuhaijun成员
9月11日 评论:

/retest

likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ai-compliance-failed
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ai-compliance-successful
openUBMC-robot
openUBMC-robot成员
9月11日 评论:

The pipeline(pipeline number:1016) is running. >>> Check Pipeline <<<.Please wait a moment...

likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ci-successful
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ci-running
openUBMC-robotopenUBMC-robot成员
9月11日 删除了label:ci-running
openUBMC-robot
openUBMC-robot成员
9月11日 评论:
任务名称结果
pre-commit检查✅SUCCESS
PR描述检查✅SUCCESS
防投毒检查✅SUCCESS
开源合规检查✅SUCCESS
编译构建✅SUCCESS
依赖校验✅SUCCESS
修改行数检查✅SUCCESS
build_1712✅SUCCESS
likedislike
openUBMC-robotopenUBMC-robot成员
9月11日 添加了label:ci-successful
openubmc-ci-bot成员
9月11日 评论:
流水线 PR-pipeline_manifest#1016 [ commitID:51c09534 ] 已完成
likedislike
liruichen成员
9月14日 评论:

/lgtm
/approve

likedislike
openUBMC-robotopenUBMC-robot成员
9月14日 添加了label:approvedlgtm
openUBMC-robot
openUBMC-robot成员
9月14日 评论:

  • 标签 lgtm, approved 已被添加. 这意味着 Polaris404 已经检查过代码了. 👋
Tips
  • 如果PR还没有被合入, 请评论 /check-pr 进行检查. 😄
likedislike
openUBMC-robotopenUBMC-robot成员
9月14日 合入了pull request,合并节点 SHA:57622e8277dc693de365fa6638de6ac6459f7f05