【求助】2606出1712烧片包报错

问题描述

1.使用2606进行1712出烧片包时报以下错误

 bmcgo build -t publish -b openUBMC_1712 -z 05025GDC
>> whoami
root
conan版本: 2.27.0
导入模块 full_component 失败
已知参数: ['-t', 'publish', '-b', 'openUBMC_1712', '-z', '05025GDC']
调试框架: None, 构建参数: Namespace(board_name='openUBMC_1712', build_type='debug', from_source=False, stage='dev', verbose=False, update_conan_cache=False, remote=None, zip_code='05025GDC', supporte_code=None, enable_qemu=False, qemu_in=False, coverage=False, asan=False, profile='', enable_luajit=True, ccache=False, debug_platform_path=None, signature_type=None, encrypt_type=None, sdk_debug_dir='', with_strip=False, debug_frame=None, debug_task=None, version='', target='publish', deploy=False)
设置单板名为: openUBMC_1712
单板源配置路径: /home/workspace/source/manifest/build/product/BMC/openUBMC_1712
复制单板的 manifest 目录从 /home/workspace/source/manifest/build/product/BMC/openUBMC_1712 到 /home/workspace/source/manifest/temp/board_openUBMC_1712
>> rm -rf /home/workspace/source/manifest/temp/board_openUBMC_1712
>> cp -rf /home/workspace/source/manifest/build/product/BMC/openUBMC_1712 /home/workspace/source/manifest/temp/board_openUBMC_1712
不能从 yaml 文件中获取到键值 base/show_version, 没有相关配置
不能从 yaml 文件中获取到键值 manufacture/05025GDC/show_version, 没有相关配置
>> conan remote list
不能从 yaml 文件中获取到键值 archive, 没有相关配置
不能从 yaml 文件中获取到键值 archive, 没有相关配置
不能从 yaml 文件中获取到键值 archive, 没有相关配置
不能从 yaml 文件中获取到键值 base/profile, 没有相关配置
不能从 yaml 文件中获取到键值 manufacture/05025GDC/encrypt_type, 没有相关配置
文件已存在且sha256校验通过: /root/bmc_sdk_download/bmc_sdk_1712_8b8914b441062486b376194e333a0e2d5bbd44fe46c5b1302c066285dbe5a52b.tar.gz
文件已解压,跳过下载和解压
>> cp -rf /root/bmc_sdk_download/sdk /root/sdk
>> cp -rf /root/bmc_sdk_download/rtos_compiler /root/rtos_compiler
>> cp -rf /root/bmc_sdk_download/lua-format /usr/bin
>> chmod +x /usr/bin/lua-format
>> chmod -R +x /root/bmc_sdk_download/hpm_tools
>> cp -rf /root/bmc_sdk_download/hpm_tools/. /usr/bin
不能从 yaml 文件中获取到键值 manufacture/05025GDC/platform, 没有相关配置
[INFO merge_conan2.py:58 merge_table] 处理表: recipes
[INFO merge_conan2.py:126 insert_table] 表 recipes: 插入了 0 条记录, 跳过了 94 条已存在的记录
[INFO merge_conan2.py:58 merge_table] 处理表: packages
[INFO merge_conan2.py:126 insert_table] 表 packages: 插入了 0 条记录, 跳过了 231 条已存在的记录
[INFO merge_conan2.py:51 merge_sqlite_databases] 数据库合并完成!
>> conan install --requires='ibmc_sdk/5.14.00.01.b001@openubmc/stable' -o ibmc_sdk/*:rtos_version=rtos_v2_1712 -o ibmc_sdk/*:enable_haf=True --build=missing -f json --out-file=/tmp/tmpb1bghqfi/package.json -of /tmp/tmpb1bghqfi

======== Input profiles ========
Profile host:
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu14
compiler.libcxx=libstdc++11
compiler.version=9
os=Linux
[options]
ibmc_sdk/*:enable_haf=True
ibmc_sdk/*:rtos_version=rtos_v2_1712

Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu14
compiler.libcxx=libstdc++11
compiler.version=9
os=Linux


======== Computing dependency graph ========
Graph root
cli
Requirements
ibmc_sdk/5.14.00.01.b001@openubmc/stable#531953249b5040e3882b1ab0665929d2 - Cache

======== Computing necessary packages ========
Requirements
ibmc_sdk/5.14.00.01.b001@openubmc/stable#531953249b5040e3882b1ab0665929d2:58a1004bee4c517a460c98c3ea6e607641d6f77c#0a5491d1181d9d8bdd35e2e3a88f4723 - Cache

======== Installing packages ========
ibmc_sdk/5.14.00.01.b001@openubmc/stable: Already installed! (1 of 1)

======== Finalizing install (deploy, generators) ========
cli: Generating aggregated env files
cli: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
Install finished successfully
Formatted output saved to '/tmp/tmpb1bghqfi/package.json'
>> cp -rf /root/.conan2/p/b/ibmc_1482c086eedcb/p/rtos_v2_1712 /home/workspace/source/manifest/build/temp/board_openUBMC_1712_platform
>> cp /home/workspace/source/manifest/build/dependency/dependency_buildtools.xml /home/workspace/source/manifest/build/temp/board_openUBMC_1712_platform/dependency
ERROR: 不允许对平台组件iam进行定制
ERROR: 请查看日志信息
>> conan install --requires='bingo_cases/[>=1.0.0]@openubmc/stable' -u --deployer-folder=/tmp/tmp5lcoto1f -of /tmp/tmp5lcoto1f -d direct_deploy
>> conan install --requires='bmcgo_cases/[>=1.0.0]@openubmc/stable' -u --deployer-folder=/tmp/tmpnsahfpne -of /tmp/tmpnsahfpne -d direct_deploy
[INFO unified_error_analyzer.py:186 analyze_errors] 
============================================================
[INFO unified_error_analyzer.py:187 analyze_errors] 🔍 开始统一错误分析
[INFO unified_error_analyzer.py:188 analyze_errors] ============================================================
[INFO unified_error_analyzer.py:343 _output_unified_analysis]    📊 统一分析完成!
[INFO unified_error_analyzer.py:344 _output_unified_analysis]    分析文件数量: 30 个
[INFO unified_error_analyzer.py:345 _output_unified_analysis]    日志条目总数: 82 条
[INFO unified_error_analyzer.py:346 _output_unified_analysis]    日志文件案例: 1 个
[INFO unified_error_analyzer.py:347 _output_unified_analysis]    命令失败案例: 0 个
[INFO unified_error_analyzer.py:348 _output_unified_analysis]    总案例: 1 个
[INFO unified_error_analyzer.py:354 _output_unified_analysis] 
============================================================
[INFO unified_error_analyzer.py:355 _output_unified_analysis] 📋 详细错误分析
[INFO unified_error_analyzer.py:356 _output_unified_analysis] ============================================================
[INFO unified_error_analyzer.py:141 _output_unified_case] 📁 案例 1: 组件包未找到
[INFO unified_error_analyzer.py:144 _output_unified_case] ──────────────────────────────────────────────────
[INFO unified_error_analyzer.py:146 _output_unified_case]    🕐 发生时间: 未知时间
[INFO unified_error_analyzer.py:147 _output_unified_case]    📍 来源: 日志文件
[INFO unified_error_analyzer.py:150 _output_unified_case]    📄 文件: /root/.bmcgo_log/bingo.log
[INFO unified_error_analyzer.py:152 _output_unified_case]    📝 问题描述: 组件包未找到
[INFO unified_error_analyzer.py:159 _output_unified_case]    📄 相关输出:
[INFO unified_error_analyzer.py:160 _output_unified_case]       ERROR: Package 'bmcgo_cases/[>=1.0.0]@openubmc/stable' not resolved: Version range '>=1.0.0' from requirement 'bmcgo_cases/[>=1.0.0]@openubmc/stable' required by 'None' could not be resolved. Required by 'cli'
[INFO unified_error_analyzer.py:171 _output_unified_case]    💡 解决方案: 组件包未找到,请检查该组件是否发布
[INFO unified_error_analyzer.py:173 _output_unified_case] ──────────────────────────────────────────────────
root@4b6832e17642:/home/workspace/source/manifest# 

2.manifest配置如下:

manufacture:
  05025GDC:
    default_options:
      manufacture: true
    build_type: debug
    # 国际不加密
    signature_type: rsa4096
    ipmc_bin:
      files:
        - file: /usr/share/bmcgo/hi1711/Hi1711_THGBMHG6C1LBAIL.m4i
        - file: /usr/share/bmcgo/acroview_1712/AUTO_BURNING_CONFIG_TEMPLATE.xml
        - file: ${hpm_build_dir}/datafs_openUBMC_1712.img
          dst: datafs.img
        - file: ${work_out}/GPP_rootfs.bin
      emmc_layout:
        user:
          layout: ${product}/Kunpeng/openUBMC_1712/emmc/emmc_layout.yml
        gp0:
          size: 768M
        gp3:
          size: 768M
    package_name: "ToGDP/05025GDC/BC85BMCA${version}.zip"
    files:
      - file: ${product}/Kunpeng/openUBMC_1712/archive_emmc_nand/05025GDC_version.ini
        template: true
      # 生成05024HFG_version.ini版本号
      # +archive_version=101
      # +ActiveBMC=1.01
      # +BackupBMC=1.01
      - file: ${product}/Kunpeng/openUBMC_1712/archive_emmc_nand/05024HFG_version.ini
      - file: ${work_out}/AUTO_BURNING_CONFIG.acxml
      - file: /usr/share/bmcgo/emmc_1712/H26M41204HPR.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/H26M41204HPRR.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/H26M62002JPR.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/H26M74002HMR.m4i
        template: true
      # 生成ipmc.bin
      - file: ${work_out}/ipmc.bin
        verify:
          - ipmcbin
      - file: /usr/share/bmcgo/emmc_1712/KLMBG2JETD-B041.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/SDINBDG4-8G.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/THGBMHG6C1LBAIL.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/THGBMHG9C4LBAIR.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/THGBMJG6C1LBAIL.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/YMEC6A2TB1A2C3.m4i
        template: true
      - file: /usr/share/bmcgo/emmc_1712/YMEC7A2TB2A2C3.m4i
        template: true
    dependencies:
      - conan: manufacture
        options:
          manufacture: true
      - conan: general_hardware/1.100.53+patch.18@openubmc/stable
        options:
          manufacture: true
      - conan: compute
        options:
          manufacture: true
      - conan: power_mgmt/1.70.179+patch.1@openubmc/stable
        options:
          manufacture: true
      - conan: power_strategy
        options:
          manufacture: true
      - conan: cooling
        options:
          manufacture: true
      - conan: bmc_soc
        options:
          manufacture: true
      - conan: bmc_network
        options:
          manufacture: true
      - conan: ipmi_core
        options:
          manufacture: true
      - conan: fructrl/1.70.83+patch.2@openubmc/stable
        options:
          manufacture: true
      - conan: frudata/1.70.61+patch.2@openubmc/stable
        options:
          manufacture: true
      - conan: hwproxy
        options:
          manufacture: true
      - conan: fault_diagnosis
        options:
          manufacture: true
      - conan: metric_analyzer
        options:
          manufacture: true
      - conan: bios/1.100.21+patch.4@openubmc/stable
        options:
          manufacture: true
      - conan: remote_console
        options:
          manufacture: true
      - conan: network_adapter/1.90.56+patch.5@openubmc/stable
        options:
          manufacture: true
      - conan: chassis/1.80.40+patch.2@openubmc/stable
        options:
          manufacture: true
      - conan: iam
        options:
          manufacture: true
      - conan: certificate
        options:
          manufacture: true
      - conan: capability_proxy
        options:
          manufacture: true
      - conan: account/1.110.65+patch.3@openubmc/stable
        options:
          manufacture: true
      - conan: trust
        options:
          manufacture: true
      - conan: event_policy
        options:
          manufacture: true
      - conan: usb_entry
        options:
          manufacture: true
      - conan: oms
        options:
          manufacture: true
      - conan: product_mgmt
        options:
          manufacture: true
      - conan: ddns
        options:
          manufacture: true
      - conan: ssdp
        options:
          manufacture: true
      - conan: nsm
        options:
          manufacture: true
      - conan: sensor/1.70.117+patch.1@openubmc/stable
        options:
          manufacture: true
      - conan: firmware_mgmt
        options:
          manufacture: true
      - conan: tpcm
        options:
          manufacture: true

期望结果

使用社区版本出1712 BMC烧片包

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

总结与后续步骤

问题 可能原因 解决方向
bmcgo_cases 未解析 该组件未发布到远程仓库或版本范围不满足 1. 检查远程仓库是否存在该包
2. 指定固定版本或联系组件发布者
不允许定制 iam iam 组件受平台保护,不可定制 1. 检查 iam 组件是否包含定制化脚本
2. 移除或修改定制化内容
3. 升级 iam 组件版本

建议先解决 bmcgo_cases 的依赖问题,再排查 iam 定制化错误。若后续仍无法解决,请提供更完整的日志(特别是 iam 定制化相关的上下文),以便进一步定位。

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

根据您提供的日志和配置信息,分析出两个主要错误点。以下基于知识库中的相关上下文为您梳理问题原因和解决方向。


错误分析

1. 组件 bmcgo_cases 版本范围无法解析

日志中关键错误:

ERROR: Package 'bmcgo_cases/[>=1.0.0]@openubmc/stable' not resolved: Version range '>=1.0.0' from requirement 'bmcgo_cases/[>=1.0.0]@openubmc/stable' required by 'None' could not be resolved. Required by 'cli'

知识库相关说明:

  • bmcgo_cases/[>=1.0.0]@openubmc/stable 是 Conan 包,包含 BMC Go 案例资源,版本要求 >=1.0.0。
  • 该包在依赖解析时未被解决,统一错误分析器给出的提示为:“组件包未找到,请检查该组件是否发布”。
  • 建议措施:
    1. 确认 bmcgo_cases 组件是否已发布到 openubmc/stable 远程仓库。
    2. 可使用命令 conan search bmcgo_cases/[>=1.0.0]@openubmc/stable -r openubmc_dev 检查远程是否存在该包。
    3. 若未发布,需联系社区或负责方发布该组件;或临时在 manifest 中指定一个已知存在的固定版本。

2. 不允许对平台组件 iam 进行定制

日志中出现:

ERROR: 不允许对平台组件iam进行定制
ERROR: 请查看日志信息

知识库相关说明:

  • 在组件定制化方案(文档“构建制品定制化方案”)中,组件支持在 post_image、post_rootfs、post_hpm 三个阶段进行定制化,但 定制化脚本中禁止引入 bmcgo 相关代码,避免引起依赖。
  • 平台组件(如 iam)可能被框架限制不允许进行定制化操作。错误可能来源于:
    • iam 组件的 Conan 包中包含 customization.py 文件,触发了框架的检查。
    • 框架代码中可能对 iam 这类核心组件有硬性限制。

建议措施:

  1. 检查 iam 组件是否在 manifest 中通过 customization 方式进行了定制(您提供的 manifest 片段中未看到 customization 配置,但更上游或组件内部可能自带定制化脚本)。
  2. 检查 iam 组件的版本,确认其是否与当前构建框架兼容。必要时可升级或切换为其他版本。
  3. 若不确定,可临时移除/注释掉 iam 在 dependencies 中的引用(但需注意功能完整性),或联系社区确认该组件是否支持定制化。

其他辅助信息

  • 日志中还出现多处 “不能从 yaml 文件中获取到键值” 的警告,例如 base/show_version、manufacture/05025GDC/show_version、archive、base/profile 等。这些警告表示 manifest.yml 中缺少对应的配置键,但不一定会直接导致构建失败。若构建因这些缺失键而失败,需要在 manifest 中补全相应配置(可参考社区已有产品的配置模板)。
  • 您使用的 Conan 版本为 2.27.0,知识库中提及 Conan 2.x 是当前主要版本,与 openUBMC 兼容。
  • BMC SDK 版本为 ibmc_sdk/5.14.00.01.b001@openubmc/stable,已在缓存中,安装成功。

总结与后续步骤

问题 可能原因 解决方向
bmcgo_cases 未解析 该组件未发布到远程仓库或版本范围不满足 1. 检查远程仓库是否存在该包
2. 指定固定版本或联系组件发布者
不允许定制 iam iam 组件受平台保护,不可定制 1. 检查 iam 组件是否包含定制化脚本
2. 移除或修改定制化内容
3. 升级 iam 组件版本

建议先解决 bmcgo_cases 的依赖问题,再排查 iam 定制化错误。若后续仍无法解决,请提供更完整的日志(特别是 iam 定制化相关的上下文),以便进一步定位。

已解决