BMC Studio 一键出包缺少组件

问题描述

在一键仓库部署和获取全量代码后,显示缺少firmware_mgmt、remote_console、nsm
组件,请手动导入,但是没有搜到相关的内容。

环境信息

答案内容由AI生成,仅供参考:

总结

项目 内容
问题现象 “一键仓库部署”后提示缺少 firmware_mgmtremote_consolensm,且无法手动导入
根本原因 Conan 未成功下载这些组件的二进制包,通常因未登录、权限不足或版本不匹配
解决方案 1. 登录 Conan 账号
2. 手动下载测试
3. 升级 bingo 工具
4. 清理缓存并重试 bingo fetch
预防建议 使用匹配版本的开发镜像,定期升级工具链,关注构建日志

:light_bulb: 提示:若上述方法仍无效,请导出 /root/bmcgo_log/fetch_component_code.log 日志文件,分析具体哪个组件在哪一步失败,以便精准定位问题。

详细分析解答

BMC Studio 一键出包缺少组件问题分析与解决方案

问题描述

在使用 BMC Studio 进行项目构建时,执行 “一键仓库部署”“获取全量代码” 操作后,系统提示以下关键错误:

当前缺少 firmware_mgmt、remote_console、nsm 组件,请手动导入

尽管操作流程正确且 Git 仓库地址、分支等配置无误,但在 仓库信息 表格中未显示这些缺失的组件,用户也无法通过界面搜索或手动导入功能找到相关组件信息,导致无法继续进行“一键出包”。


问题根本原因分析

根据上下文信息和 openUBMC 架构设计,此问题的核心原因如下:

1. 组件缺失的本质:Conan 包管理器未成功拉取二进制依赖

  • firmware_mgmtremote_consolensm 是 openUBMC 系统中的核心应用组件,通常以 Conan 包 的形式存储在远程仓库(如 openubmc_dev)中。
  • “一键仓库部署”功能依赖两个来源:
    • 源码仓库(通过 manifest 配置的 Git 地址)
    • 二进制仓库(通过 Conan 管理的预编译组件)
  • 当前错误表明虽然 manifest 正确配置了所需组件,但 Conan 未能从远程仓库下载对应组件包,从而导致这些组件未出现在本地工作区和 UI 列表中。

:white_check_mark: 相关知识图谱支持:

  • Component Missing Error 发生在 One-Click Warehouse Deployment 过程中,原因是无法从 Conan 仓库获取组件。
  • 用户反馈中多次出现 ERROR: 执行命令 /usr/local/bin/conan download ... 的日志报错。

2. 缺少手动导入入口的原因:UI 限制

  • BMC Studio 的“手动导入”提示并非意味着可以在界面上自由搜索并添加任意组件。
  • 组件列表由 manifest 文件和 Conan 仓库联动生成,若 Conan 中不存在该包或网络/权限受限,则 UI 上无法列出该组件供选择。
  • 因此,“请手动导入”的提示在实际操作中不可行,除非底层依赖已解决。

3. 可能的触发因素

因素 说明
未登录 Conan 账号 需执行 conan user 登录授权账户才能访问受保护的组件。
Conan 远端配置错误 缺少或错误配置远程仓库(如 openubmc_dev)。
网络不通或仓库地址变更 无法访问 https://conan.openubmc.cn 或 GitCode 仓库地址变更。
版本不匹配 当前 manifest 指定的组件版本在 Conan 仓库中不存在(例如 firmware_mgmt/1.70.x 未上传)。
权限不足 用户账号未被授予访问 stablerc 发布通道的权限。

解决方案

:white_check_mark: 方法一:检查并修复 Conan 环境(推荐)

1. 检查 Conan 登录状态

conan user
  • 若未登录,请执行:
conan user -r openubmc_dev <your_username>

注:openubmc_dev 是常用的远程仓库名称,确认实际配置可用 conan remote list 查看。

2. 手动尝试下载缺失组件(验证连通性)

conan download firmware_mgmt/1.70.40@openUBMC.release/stable -r openubmc_dev
conan download remote_console/1.70.20@openUBMC.release/stable -r openubmc_dev
conan download nsm/1.10.5@openUBMC.release/stable -r openubmc_dev
  • 如果失败,根据错误提示排查:
    • 网络问题 → 检查代理或 DNS
    • 权限问题 → 联系管理员确认权限
    • 包不存在 → 查看版本是否准确(见下一步)

:white_check_mark: 方法二:确认 manifest 与 Conan 版本一致性

  • 打开仓库路径下的 manifest.yml 或相关配置文件,查找 firmware_mgmtremote_consolensm 的版本声明。
  • 示例格式:
components:
  firmware_mgmt:
    version: 1.70.40
    ref: openUBMC.release/stable
  • 确保该版本在 Conan 仓库中存在:
conan search "firmware_mgmt*" -r openubmc_dev
  • 若版本不存在:
    • 联系团队确认最新稳定版本。
    • 修改 manifest 中对应组件版本为已有版本。

:white_check_mark: 方法三:更新 Bingo 工具与同步 Manifest

1. 升级到最新版 bingo

bingo upgrade
  • 旧版本可能导致 fetch 失败或解析错误。

2. 强制重新拉取全量仓库

cd ~/bmc_studio/workspaces/workspace25.12/manifest
bingo fetch -b br_release_openUBMC2512_20261231_LTS --stage stable
  • 此命令会强制从 manifest 配置中重新下载所有组件代码及二进制。

3. 清理缓存(必要时)

rm -rf ~/.conan2/p/*
  • 清除损坏或过期的包缓存。

:white_check_mark: 方法四:检查环境镜像与基础配置

您提供的环境为:

swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09
  • 当前目标版本为 OpenUBMC 2512 LTS,但基础镜像为 25.09,存在版本错配风险。
  • 建议切换为官方支持的 2512 开发环境镜像,避免由于库版本不一致导致 Conan 解析失败。

预防措施与最佳实践

建议 说明
始终使用 root 用户启动 BMC Studio 部分构建脚本需要 sudo 权限,否则会中断出包。
部署前确认已登录 Conan 推荐在 Docker 启动脚本中自动登录。
定期更新 bingo 和 BMC Studio 新版本修复了大量仓库同步问题。
使用“一键仓库部署”前先切换并同步分支 保证 manifest 为最新状态。
查看“仓库日志”定位错误 UI 显示“成功”不代表所有组件都拉取完毕,需点进日志查看详情。

总结

项目 内容
问题现象 “一键仓库部署”后提示缺少 firmware_mgmtremote_consolensm,且无法手动导入
根本原因 Conan 未成功下载这些组件的二进制包,通常因未登录、权限不足或版本不匹配
解决方案 1. 登录 Conan 账号
2. 手动下载测试
3. 升级 bingo 工具
4. 清理缓存并重试 bingo fetch
预防建议 使用匹配版本的开发镜像,定期升级工具链,关注构建日志

:light_bulb: 提示:若上述方法仍无效,请导出 /root/bmcgo_log/fetch_component_code.log 日志文件,分析具体哪个组件在哪一步失败,以便精准定位问题。

相关链接:

  1. BMC Studio问题
  2. Atlas 300V pro NPU卡信息显示不全
  3. bmc studio使用问题
  4. 【iTestSmart】ipmi接口设置SmartCooling模式,日志显示成功,但结果Fail。
  5. BMC Studio用户指南 | 文档中心 | openUBMC

您好,请您在路径/root/bmc_studio/workspaces/workspace25.12/manifest下执行bingo build试试?看看是否会报错。这个操作可能不解决问题,是为了帮助我们定位问题。可以请您帮忙把结果放上来吗,谢谢。

workspace25.12下没有东西。我在25.12/manifest下执行bingo build

这个文件夹下没有东西吗?想请问一下您是怎么创建工作空间的?

没有东西,


您尝试一下选择这个选项创建工作空间试试?

删掉了原来的项目,重新拉取的manifest,然后初始化,

新建工作空间,然后一键仓库部署:

现在路径/root/bmc_studio/workspaces/work1/ 下应该有manifest了。
方便的话,麻烦您把这个文件上传一下,谢谢。/root/bmc_studio/workspaces/work1/manifest/temp/log/task.log
此外在那个manifest下执行bingo build 试试?看看是否能成功构建

可以执行成功,也没啥报错。

task.log.txt (251.2 KB)

请尝试在manifest中运行bingo fetch,看看能不能解决您的问题

不能,一直报错

定位到是conan远端分支换了,导致bingo fetch无法执行,也影响到了studio的使用。近几日会修复。

修改这里可以解决嘛?

可能解决不了。如果急用的话,可以拉取bingo仓,然后应用AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台 这个pr,执行该仓库内的install_local.sh重新安装bingo

好的,感谢支持

这个pr安装后;

在manifest初始化后运行bingo fetch,

现在卡在这里两个小时了,估计这个pr还是有点问题:

是不是conan登录失效了?尝试出个包看看?

bingo build可以成功

成功之后再运行bingo fetch也是卡在这里快一个小时了:

bingo的版本也是对的,pr的版本

bingo的新版本当前已经发布,最新的版本中应该可以修复该问题,请您尝试下