openUBMC Studio 用户指南
更新时间: 2026/08/01
在Gitcode上查看源码

说明:

openUBMC Studio 8 月 1 日版本新增以下功能:

  1. BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
  2. 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键 wbd_build 出白牌/清白牌包。
  3. Manifest 配置与一键出包:可视化编辑 manifest.yml 出包配置,按机型/包型一键构建固件包。
  4. 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。

简介

openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:

  • 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
  • 实时错误检查:基于规则集自动检测代码错误和潜在问题
  • 表达式计算器:支持CSR表达式的编写、调试和批量测试
  • SMC命令字配置:提供可视化的SMC命令字解析和配置工具
  • 模型配置:支持产品和规则集的快速选择与配置
  • 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
  • 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
  • Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
  • 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
  • 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
  • BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
  • 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
  • 社区集成:无缝对接openUBMC社区资源和服务

登录到社区功能

openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。

登录步骤

  1. 点击IDE右下角状态栏中的登录图标

  2. 在弹出的登录页面中输入您的openUBMC社区账号和密码

  3. 点击“登录”按钮完成登录

登录状态保持

登录成功后,IDE会自动保持和刷新登录状态:

  • 自动刷新:IDE会定期刷新登录状态,确保持续有效
  • 状态保持:退出IDE后,登录状态会继续保持一段时间
  • 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录

Conan中心仓集成

登录社区后,IDE会自动同步登录到Conan中心仓:

  • 登录状态自动保持并刷新
  • 只要IDE处于登录状态,Conan就处于登录状态
  • 在执行出包等操作时不会因为认证问题而超时

说明:

建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。

CSR编码辅助功能

openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。

模型配置

使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:

  1. 在模型配置页面中,选择对应的产品和规则集。

  2. 确认产品信息后,选择需要配置的模型文件。

  3. 配置模型文件对应的代码仓和分支信息。

  4. 完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。

说明:

模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。

引用跳转功能

引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。

转到定义

  1. 在代码编辑器中,将光标定位到需要查看定义的符号上。

  2. 使用以下任一方式跳转到定义:

    • 右键点击符号,选择“转到定义”
    • 按住 Ctrl 键,点击符号

  3. 编辑器将自动跳转到符号的定义位置。

转到引用

  1. 在代码编辑器中,将光标定位到需要查看引用的符号上。

  2. 使用以下任一方式查看引用:

    • 按下 Shift + F12
    • 右键点击符号,选择“转到引用”

  3. 在侧边栏将显示所有引用该符号的位置列表。

  4. 点击列表中的项可跳转到对应的引用位置。

鼠标悬停预览定义

  1. 在代码编辑器中,将鼠标悬停在符号上。

  2. 等待片刻,将显示符号的定义预览窗口。

基本规则错误检查功能

openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。

实时检查

模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:

页面中的类型错误和格式错误都会被实时拦截:

表达式中的语法错误也可以被实时拦截:

查看检查结果

  1. 错误和警告会以波浪线形式标注在代码中:

    • 红色波浪线:表示错误(Error)
    • 黄色波浪线:表示警告(Warning)

  2. 查看"问题"面板:

    • 点击底部"问题"标签页
    • 查看所有错误和警告列表
    • 点击列表项可快速定位到对应代码位置

复杂规则校验

openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。

表达式计算器功能

表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。

打开表达式计算器

  1. 打开CSR文件,在表达式上方将显示“计算表达式”按钮

  2. 点击“计算表达式”按钮,表达式计算器窗口将在右侧打开

表达式计算器界面

表达式计算器界面包含以下部分:

  • 表达式编辑区:显示和编辑当前选中的表达式
  • 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
  • 变量面板:显示当前表达式中可用的变量及其值
  • 结果面板:显示表达式计算结果和各级管道的计算过程

修改表达式

  1. 在表达式编辑区查看或修改表达式

  2. 修改完成后,点击“保存到文件”按钮保存修改

  3. 保存后,表达式计算器会自动重新加载表达式

  4. 源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载

调试表达式

  1. 在表达式编辑区查看表达式内容

  2. 在变量面板中输入或修改变量值

  3. 完成输入后,系统将自动计算:

    • 各级管道的中间结果
    • 最终表达式结果

说明:

调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。

表达式批量用例测试

  1. 在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式

  2. 创建测试用例:

    • 按照要求输入测试用例名称和参数值以及结果值
  3. 执行批量测试:

    • 点击“加载用例”加载所有测试用例
    • 点击“Execute all”执行所有测试用例
    • 查看验证报告,显示每个用例的执行结果

说明:

测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。

SMC计算器功能

SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。

打开SMC计算器

  1. 打开CSR文件,定位到Scanner或Accessor的offset字段

  2. 点击offset字段上方显示的"计算偏移量"按钮

  3. SMC计算器窗口将在右侧打开

SMC命令字解析

SMC计算器提供了强大的命令字解析功能:

  1. 自动解析:当前偏移量会被自动解析,显示各字段的含义
  2. 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
  3. 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
  4. 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明

SMC命令字可视化辅助

openUBMC Studio提供了直观的SMC命令字可视化功能:

  1. 水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看

  2. 悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:

    • 各字段的值
    • 字段的含义
    • 完整的偏移量计算结果

说明:

可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。

拓扑与CSR可视化配置

拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。

创建拓扑配置

  1. 点击openUBMC Studio左侧的拓扑十字形侧边栏图标。

  2. 点击"创建配置"。

  3. 点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。

  4. 创建完成后,拓扑起点为 root.sr

配置拓扑关系

  1. 可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。

  2. 双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。

拖拽器件

打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。

说明:

后续将继续提供整机视角的多CSR配置功能。

能效调速配置

能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。

打开配置页面

点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。

配置能效调速对象

  1. 通过该页面配置能效调速对象,以及配置对象间的关联关系。

  2. 点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。

  3. 点击右上角"生成CSR"即可根据当前配置产生CSR代码片段,可以自行填入CSR文件中。生成CSR过程支持配置语法检查,禁止出现ID冲突等问题。

常用操作

快捷键参考

openUBMC Studio提供了丰富的快捷键支持,帮助开发者提高工作效率:

功能快捷键说明
转到定义Ctrl + 点击F12跳转到符号的定义位置
转到引用Shift + F12查看符号的所有引用位置
查找Ctrl + F在当前文件中查找
全局搜索Ctrl + Shift + F在整个项目中搜索
保存Ctrl + S保存当前文件
全部保存Ctrl + Shift + S保存所有打开的文件
撤销Ctrl + Z撤销上一步操作
重做Ctrl + Y重做上一步操作
快速打开文件Ctrl + P快速打开项目中的文件
命令面板Ctrl + Shift + P打开命令面板,执行各种命令
切换侧边栏Ctrl + B显示/隐藏侧边栏

说明:

可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。

设置与配置

修改用户设置

  1. 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键 Ctrl + ,
  2. 在设置页面中,可以修改各类配置:
    • 编辑器设置(字体、主题、缩进等)
    • CSR规则检查设置
    • 快捷键配置
    • 扩展设置

卸载openUBMC Studio

如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。

Windows系统卸载

  1. 打开“控制面板”>“程序”>“程序和功能”
  2. 在程序列表中找到“openUBMC Studio”
  3. 右键点击,选择“卸载”
  4. 按照卸载向导提示完成卸载

卸载后清理

说明:

卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:

  • 用户数据目录:%APPDATA%\.bmc-Studio
  • 远程连接服务目录:~/.bmcstudio-server

注意
删除配置目录和工作空间数据是不可逆操作,请确保已备份重要数据后再执行删除。

openUBMC Studio BMC环境管理插件使用指南

本文档介绍 openUBMC Studio 的 BMC环境管理 插件(扩展 ID:openubmc.bmcstudio-bmc-remote)的功能与使用方法。该插件用于在 IDE 内集中管理多台 BMC 环境、批量下发命令、上传文件、一键升级固件以及实时监控日志。

简介

BMC环境管理插件在活动栏注册一个「BMC环境管理」容器,下设两个视图:

  • BMC Environments:BMC 环境连接树,按分组组织,管理连接的元数据与凭据。
  • Command Macros:命令宏树,维护可批量下发的命令序列。

插件的核心能力包括:

  • 连接管理:以分组方式管理多台 BMC,单条连接可任选 SSH、Telnet 或 WebView 方式接入。
  • 连通性管理:手动或周期性探测 BMC 可达性,并在状态变化时播报。
  • 命令宏:预定义命令序列与变量,按「全部可达 / 分组 / 手动多选」批量下发,回收结构化结果。
  • SFTP 上传:从资源管理器右键将本地文件或目录上传到 BMC。
  • HPM 一键升级:右键 .hpm 固件包,并发升级多台 BMC,全程进度可视。
  • 实时日志监控:实时 tail 远端 /var/log 日志,支持日志轮转衔接、时间回绕校准与原始文件下载。
  • MCP 工具:对外暴露 25 个 MCP 工具,供 AI Agent 调用,实现自然语言驱动的批量运维。

使用前准备

环境要求

  • 运行平台:推荐 Linux(Ubuntu)。连接管理以 Linux 为目标平台;HPM 升级与日志监控仅依赖 Node 内置模块,三平台行为一致。
  • 系统依赖:建议预装以下工具:
    • openssh-client:SSH 接入与 SFTP 上传。
    • telnet:Telnet 接入与实时日志监控。
    • tar(支持 -z):目录上传与日志下载解压。
    • libsecret-1-0 / gnome-keyring:Linux 下用于安全存储密码。

安装插件

  1. 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按 Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。
  2. 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。

说明:

若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南

BMC 环境管理

新增分组

连接以「分组」为单位组织,系统默认创建一个分组。

  1. BMC Environments 视图标题栏单击「Add Group」按钮。
  2. 输入分组名称并确认。

分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。

新增连接

  1. 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
  2. 在弹出的表单中填写连接信息并保存。

连接字段说明:

字段说明备注
名称 name连接显示名称必填
IP 地址 hostBMC 的 IPv4 地址必填,仅接受 IPv4,非法地址会被拒绝
用户名 username登录用户名必填
密码 password登录密码必填(新增时);密码存于操作系统级安全存储,不落配置文件、不进日志
分组 group所属分组不选则落入首个分组
标签 tags标签数组可选,用于归类
描述 description连接描述可选

接入 BMC

在连接上右键,选择接入方式:

  • Connect via SSH:使用进程内 SSH 客户端登录(兼容老款 BMC 的弱算法与 keyboard-interactive 交互),以伪终端呈现。默认在编辑器区(接近全屏)打开,由配置项 bmc.autoMaximizeTerminal 控制,关闭后回到底部面板。
  • Connect via Telnet:调用系统 telnet 命令接入,需本机已安装 telnet。Telnet 不会自动发送密码,需手动输入。
  • Open in WebView:使用系统浏览器打开 BMC Web UI(https://{host})。

SSH 握手超时由 bmc.connectionTimeout(默认 30 秒)控制。

编辑与删除

  • Edit Configuration / Change Password:修改连接信息。编辑密码时留空表示保留原密码。
  • Disconnect:发送 exit、关闭终端并注销会话。
  • Delete:删除前会弹出模态确认;删除会先关闭相关终端并清理该连接的凭据。

说明:

删除连接会连带删除其凭据;删除分组前需先清空连接或迁移。

连通性管理

插件通过 TCP 探测 SSH 22 端口判断 BMC 可达性,连接树图标实时反映状态(不可达时变红),分组徽章显示「X/Y 可达」。

  • 手动探测单个:右键连接 → 「Check Connection Health」,提示可达 / 不可达。
  • 全量刷新:单击视图标题栏「Refresh」,先把全部连接置为检测中再统一探测。
  • 周期检测:右键连接 → 「开启自动检测连通状态」/「关闭自动检测连通状态」。开启后每 10 秒 探测一轮,仅对开启该项的连接生效。
  • 状态播报:右键连接 → 「开启连通性变更播报」/「关闭连通性变更播报」。上线提示「{分组}/{名称} 已上电」,掉线提示「{名称} 已下电」。

探测超时由 bmc.pingTimeout(默认 3000 毫秒)控制。可达性 = 「TCP 22 端口通 + 已配置凭据」;运行宏、上传、升级前均以此作为就绪判据。

命令宏

命令宏用于预定义「一组有序 shell 命令 + 变量 + 失败策略」,运行时按目标范围批量下发到 BMC,每台环境复用一条 SSH 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。

新建宏

  1. 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
  2. 在表单中填写宏内容并保存。

宏字段说明:

字段说明默认值 / 范围
名称 name宏名称必填
描述 description宏描述可选
命令 commands有序命令列表至少 1 条;每条可单独设置 descriptiontimeoutMsabortOnFailure(遇错:默认 / 中断 / 继续)
变量 variables自定义变量(键名不含 `---

说明:

openUBMC Studio 8 月 1 日版本新增以下功能:

  1. BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
  2. 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键 wbd_build 出白牌/清白牌包。
  3. Manifest 配置与一键出包:可视化编辑 manifest.yml 出包配置,按机型/包型一键构建固件包。
  4. 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。

简介

openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:

  • 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
  • 实时错误检查:基于规则集自动检测代码错误和潜在问题
  • 表达式计算器:支持CSR表达式的编写、调试和批量测试
  • SMC命令字配置:提供可视化的SMC命令字解析和配置工具
  • 模型配置:支持产品和规则集的快速选择与配置
  • 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
  • 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
  • Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
  • 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
  • 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
  • BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
  • 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
  • 社区集成:无缝对接openUBMC社区资源和服务

登录到社区功能

openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。

登录步骤

  1. 点击IDE右下角状态栏中的登录图标

  2. 在弹出的登录页面中输入您的openUBMC社区账号和密码

  3. 点击“登录”按钮完成登录

登录状态保持

登录成功后,IDE会自动保持和刷新登录状态:

  • 自动刷新:IDE会定期刷新登录状态,确保持续有效
  • 状态保持:退出IDE后,登录状态会继续保持一段时间
  • 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录

Conan中心仓集成

登录社区后,IDE会自动同步登录到Conan中心仓:

  • 登录状态自动保持并刷新
  • 只要IDE处于登录状态,Conan就处于登录状态
  • 在执行出包等操作时不会因为认证问题而超时

说明:

建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。

CSR编码辅助功能

openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。

模型配置

使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:

  1. 在模型配置页面中,选择对应的产品和规则集。

  2. 确认产品信息后,选择需要配置的模型文件。

  3. 配置模型文件对应的代码仓和分支信息。

  4. 完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。

说明:

模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。

引用跳转功能

引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。

转到定义

  1. 在代码编辑器中,将光标定位到需要查看定义的符号上。

  2. 使用以下任一方式跳转到定义:

    • 右键点击符号,选择“转到定义”
    • 按住 Ctrl 键,点击符号

  3. 编辑器将自动跳转到符号的定义位置。

转到引用

  1. 在代码编辑器中,将光标定位到需要查看引用的符号上。

  2. 使用以下任一方式查看引用:

    • 按下 Shift + F12
    • 右键点击符号,选择“转到引用”

  3. 在侧边栏将显示所有引用该符号的位置列表。

  4. 点击列表中的项可跳转到对应的引用位置。

鼠标悬停预览定义

  1. 在代码编辑器中,将鼠标悬停在符号上。

  2. 等待片刻,将显示符号的定义预览窗口。

基本规则错误检查功能

openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。

实时检查

模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:

页面中的类型错误和格式错误都会被实时拦截:

表达式中的语法错误也可以被实时拦截:

查看检查结果

  1. 错误和警告会以波浪线形式标注在代码中:

    • 红色波浪线:表示错误(Error)
    • 黄色波浪线:表示警告(Warning)

  2. 查看"问题"面板:

    • 点击底部"问题"标签页
    • 查看所有错误和警告列表
    • 点击列表项可快速定位到对应代码位置

复杂规则校验

openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。

表达式计算器功能

表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。

打开表达式计算器

  1. 打开CSR文件,在表达式上方将显示“计算表达式”按钮

  2. 点击“计算表达式”按钮,表达式计算器窗口将在右侧打开

表达式计算器界面

表达式计算器界面包含以下部分:

  • 表达式编辑区:显示和编辑当前选中的表达式
  • 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
  • 变量面板:显示当前表达式中可用的变量及其值
  • 结果面板:显示表达式计算结果和各级管道的计算过程

修改表达式

  1. 在表达式编辑区查看或修改表达式

  2. 修改完成后,点击“保存到文件”按钮保存修改

  3. 保存后,表达式计算器会自动重新加载表达式

  4. 源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载

调试表达式

  1. 在表达式编辑区查看表达式内容

  2. 在变量面板中输入或修改变量值

  3. 完成输入后,系统将自动计算:

    • 各级管道的中间结果
    • 最终表达式结果

说明:

调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。

表达式批量用例测试

  1. 在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式

  2. 创建测试用例:

    • 按照要求输入测试用例名称和参数值以及结果值
  3. 执行批量测试:

    • 点击“加载用例”加载所有测试用例
    • 点击“Execute all”执行所有测试用例
    • 查看验证报告,显示每个用例的执行结果

说明:

测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。

SMC计算器功能

SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。

打开SMC计算器

  1. 打开CSR文件,定位到Scanner或Accessor的offset字段

  2. 点击offset字段上方显示的"计算偏移量"按钮

  3. SMC计算器窗口将在右侧打开

SMC命令字解析

SMC计算器提供了强大的命令字解析功能:

  1. 自动解析:当前偏移量会被自动解析,显示各字段的含义
  2. 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
  3. 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
  4. 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明

SMC命令字可视化辅助

openUBMC Studio提供了直观的SMC命令字可视化功能:

  1. 水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看

  2. 悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:

    • 各字段的值
    • 字段的含义
    • 完整的偏移量计算结果

说明:

可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。

拓扑与CSR可视化配置

拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。

创建拓扑配置

  1. 点击openUBMC Studio左侧的拓扑十字形侧边栏图标。

  2. 点击"创建配置"。

  3. 点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。

  4. 创建完成后,拓扑起点为 root.sr

配置拓扑关系

  1. 可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。

  2. 双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。

拖拽器件

打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。

说明:

后续将继续提供整机视角的多CSR配置功能。

能效调速配置

能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。

打开配置页面

点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。

配置能效调速对象

  1. 通过该页面配置能效调速对象,以及配置对象间的关联关系。

  2. 点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。

  3. 点击右上角"生成CSR"即可根据当前配置产生CSR代码片段,可以自行填入CSR文件中。生成CSR过程支持配置语法检查,禁止出现ID冲突等问题。

常用操作

快捷键参考

openUBMC Studio提供了丰富的快捷键支持,帮助开发者提高工作效率:

功能快捷键说明
转到定义Ctrl + 点击F12跳转到符号的定义位置
转到引用Shift + F12查看符号的所有引用位置
查找Ctrl + F在当前文件中查找
全局搜索Ctrl + Shift + F在整个项目中搜索
保存Ctrl + S保存当前文件
全部保存Ctrl + Shift + S保存所有打开的文件
撤销Ctrl + Z撤销上一步操作
重做Ctrl + Y重做上一步操作
快速打开文件Ctrl + P快速打开项目中的文件
命令面板Ctrl + Shift + P打开命令面板,执行各种命令
切换侧边栏Ctrl + B显示/隐藏侧边栏

说明:

可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。

设置与配置

修改用户设置

  1. 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键 Ctrl + ,
  2. 在设置页面中,可以修改各类配置:
    • 编辑器设置(字体、主题、缩进等)
    • CSR规则检查设置
    • 快捷键配置
    • 扩展设置

卸载openUBMC Studio

如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。

Windows系统卸载

  1. 打开“控制面板”>“程序”>“程序和功能”
  2. 在程序列表中找到“openUBMC Studio”
  3. 右键点击,选择“卸载”
  4. 按照卸载向导提示完成卸载

卸载后清理

说明:

卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:

  • 用户数据目录:%APPDATA%\.bmc-Studio
  • 远程连接服务目录:~/.bmcstudio-server

注意
删除配置目录和工作空间数据是不可逆操作,请确保已备份重要数据后再执行删除。

openUBMC Studio BMC环境管理插件使用指南

本文档介绍 openUBMC Studio 的 BMC环境管理 插件(扩展 ID:openubmc.bmcstudio-bmc-remote)的功能与使用方法。该插件用于在 IDE 内集中管理多台 BMC 环境、批量下发命令、上传文件、一键升级固件以及实时监控日志。

简介

BMC环境管理插件在活动栏注册一个「BMC环境管理」容器,下设两个视图:

  • BMC Environments:BMC 环境连接树,按分组组织,管理连接的元数据与凭据。
  • Command Macros:命令宏树,维护可批量下发的命令序列。

插件的核心能力包括:

  • 连接管理:以分组方式管理多台 BMC,单条连接可任选 SSH、Telnet 或 WebView 方式接入。
  • 连通性管理:手动或周期性探测 BMC 可达性,并在状态变化时播报。
  • 命令宏:预定义命令序列与变量,按「全部可达 / 分组 / 手动多选」批量下发,回收结构化结果。
  • SFTP 上传:从资源管理器右键将本地文件或目录上传到 BMC。
  • HPM 一键升级:右键 .hpm 固件包,并发升级多台 BMC,全程进度可视。
  • 实时日志监控:实时 tail 远端 /var/log 日志,支持日志轮转衔接、时间回绕校准与原始文件下载。
  • MCP 工具:对外暴露 25 个 MCP 工具,供 AI Agent 调用,实现自然语言驱动的批量运维。

使用前准备

环境要求

  • 运行平台:推荐 Linux(Ubuntu)。连接管理以 Linux 为目标平台;HPM 升级与日志监控仅依赖 Node 内置模块,三平台行为一致。
  • 系统依赖:建议预装以下工具:
    • openssh-client:SSH 接入与 SFTP 上传。
    • telnet:Telnet 接入与实时日志监控。
    • tar(支持 -z):目录上传与日志下载解压。
    • libsecret-1-0 / gnome-keyring:Linux 下用于安全存储密码。

安装插件

  1. 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按 Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。
  2. 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。

说明:

若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南

BMC 环境管理

新增分组

连接以「分组」为单位组织,系统默认创建一个分组。

  1. BMC Environments 视图标题栏单击「Add Group」按钮。
  2. 输入分组名称并确认。

分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。

新增连接

  1. 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
  2. 在弹出的表单中填写连接信息并保存。

连接字段说明:

字段说明备注
名称 name连接显示名称必填
IP 地址 hostBMC 的 IPv4 地址必填,仅接受 IPv4,非法地址会被拒绝
用户名 username登录用户名必填
密码 password登录密码必填(新增时);密码存于操作系统级安全存储,不落配置文件、不进日志
分组 group所属分组不选则落入首个分组
标签 tags标签数组可选,用于归类
描述 description连接描述可选

接入 BMC

在连接上右键,选择接入方式:

  • Connect via SSH:使用进程内 SSH 客户端登录(兼容老款 BMC 的弱算法与 keyboard-interactive 交互),以伪终端呈现。默认在编辑器区(接近全屏)打开,由配置项 bmc.autoMaximizeTerminal 控制,关闭后回到底部面板。
  • Connect via Telnet:调用系统 telnet 命令接入,需本机已安装 telnet。Telnet 不会自动发送密码,需手动输入。
  • Open in WebView:使用系统浏览器打开 BMC Web UI(https://{host})。

SSH 握手超时由 bmc.connectionTimeout(默认 30 秒)控制。

编辑与删除

  • Edit Configuration / Change Password:修改连接信息。编辑密码时留空表示保留原密码。
  • Disconnect:发送 exit、关闭终端并注销会话。
  • Delete:删除前会弹出模态确认;删除会先关闭相关终端并清理该连接的凭据。

说明:

删除连接会连带删除其凭据;删除分组前需先清空连接或迁移。

连通性管理

插件通过 TCP 探测 SSH 22 端口判断 BMC 可达性,连接树图标实时反映状态(不可达时变红),分组徽章显示「X/Y 可达」。

  • 手动探测单个:右键连接 → 「Check Connection Health」,提示可达 / 不可达。
  • 全量刷新:单击视图标题栏「Refresh」,先把全部连接置为检测中再统一探测。
  • 周期检测:右键连接 → 「开启自动检测连通状态」/「关闭自动检测连通状态」。开启后每 10 秒 探测一轮,仅对开启该项的连接生效。
  • 状态播报:右键连接 → 「开启连通性变更播报」/「关闭连通性变更播报」。上线提示「{分组}/{名称} 已上电」,掉线提示「{名称} 已下电」。

探测超时由 bmc.pingTimeout(默认 3000 毫秒)控制。可达性 = 「TCP 22 端口通 + 已配置凭据」;运行宏、上传、升级前均以此作为就绪判据。

命令宏

命令宏用于预定义「一组有序 shell 命令 + 变量 + 失败策略」,运行时按目标范围批量下发到 BMC,每台环境复用一条 SSH 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。

新建宏

  1. 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
  2. 在表单中填写宏内容并保存。

宏字段说明:

字段说明默认值 / 范围
名称 name宏名称必填
描述 description宏描述可选
命令 commands有序命令列表至少 1 条;每条可单独设置 descriptiontimeoutMsabortOnFailure(遇错:默认 / 中断 / 继续)
变量 variables自定义变量(键名不含 )与内置变量合并;同名时内置优先
失败策略 onError宏级策略continue(继续)/ abort(中断该环境后续命令);默认 continue
命令超时 timeoutMs单条命令超时(毫秒)默认 30000;单条命令可覆盖
并发度 concurrency环境间并发度1–8,默认 1
标签 tags标签(表单中逗号分隔)可选

变量替换

命令模板支持变量占位:

  • 语法:$VAR${VAR}$ 转义为字面 `---

说明:

openUBMC Studio 8 月 1 日版本新增以下功能:

  1. BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
  2. 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键 wbd_build 出白牌/清白牌包。
  3. Manifest 配置与一键出包:可视化编辑 manifest.yml 出包配置,按机型/包型一键构建固件包。
  4. 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。

简介

openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:

  • 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
  • 实时错误检查:基于规则集自动检测代码错误和潜在问题
  • 表达式计算器:支持CSR表达式的编写、调试和批量测试
  • SMC命令字配置:提供可视化的SMC命令字解析和配置工具
  • 模型配置:支持产品和规则集的快速选择与配置
  • 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
  • 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
  • Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
  • 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
  • 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
  • BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
  • 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
  • 社区集成:无缝对接openUBMC社区资源和服务

登录到社区功能

openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。

登录步骤

  1. 点击IDE右下角状态栏中的登录图标

  2. 在弹出的登录页面中输入您的openUBMC社区账号和密码

  3. 点击“登录”按钮完成登录

登录状态保持

登录成功后,IDE会自动保持和刷新登录状态:

  • 自动刷新:IDE会定期刷新登录状态,确保持续有效
  • 状态保持:退出IDE后,登录状态会继续保持一段时间
  • 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录

Conan中心仓集成

登录社区后,IDE会自动同步登录到Conan中心仓:

  • 登录状态自动保持并刷新
  • 只要IDE处于登录状态,Conan就处于登录状态
  • 在执行出包等操作时不会因为认证问题而超时

说明:

建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。

CSR编码辅助功能

openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。

模型配置

使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:

  1. 在模型配置页面中,选择对应的产品和规则集。

  2. 确认产品信息后,选择需要配置的模型文件。

  3. 配置模型文件对应的代码仓和分支信息。

  4. 完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。

说明:

模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。

引用跳转功能

引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。

转到定义

  1. 在代码编辑器中,将光标定位到需要查看定义的符号上。

  2. 使用以下任一方式跳转到定义:

    • 右键点击符号,选择“转到定义”
    • 按住 Ctrl 键,点击符号

  3. 编辑器将自动跳转到符号的定义位置。

转到引用

  1. 在代码编辑器中,将光标定位到需要查看引用的符号上。

  2. 使用以下任一方式查看引用:

    • 按下 Shift + F12
    • 右键点击符号,选择“转到引用”

  3. 在侧边栏将显示所有引用该符号的位置列表。

  4. 点击列表中的项可跳转到对应的引用位置。

鼠标悬停预览定义

  1. 在代码编辑器中,将鼠标悬停在符号上。

  2. 等待片刻,将显示符号的定义预览窗口。

基本规则错误检查功能

openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。

实时检查

模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:

页面中的类型错误和格式错误都会被实时拦截:

表达式中的语法错误也可以被实时拦截:

查看检查结果

  1. 错误和警告会以波浪线形式标注在代码中:

    • 红色波浪线:表示错误(Error)
    • 黄色波浪线:表示警告(Warning)

  2. 查看"问题"面板:

    • 点击底部"问题"标签页
    • 查看所有错误和警告列表
    • 点击列表项可快速定位到对应代码位置

复杂规则校验

openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。

表达式计算器功能

表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。

打开表达式计算器

  1. 打开CSR文件,在表达式上方将显示“计算表达式”按钮

  2. 点击“计算表达式”按钮,表达式计算器窗口将在右侧打开

表达式计算器界面

表达式计算器界面包含以下部分:

  • 表达式编辑区:显示和编辑当前选中的表达式
  • 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
  • 变量面板:显示当前表达式中可用的变量及其值
  • 结果面板:显示表达式计算结果和各级管道的计算过程

修改表达式

  1. 在表达式编辑区查看或修改表达式

  2. 修改完成后,点击“保存到文件”按钮保存修改

  3. 保存后,表达式计算器会自动重新加载表达式

  4. 源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载

调试表达式

  1. 在表达式编辑区查看表达式内容

  2. 在变量面板中输入或修改变量值

  3. 完成输入后,系统将自动计算:

    • 各级管道的中间结果
    • 最终表达式结果

说明:

调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。

表达式批量用例测试

  1. 在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式

  2. 创建测试用例:

    • 按照要求输入测试用例名称和参数值以及结果值
  3. 执行批量测试:

    • 点击“加载用例”加载所有测试用例
    • 点击“Execute all”执行所有测试用例
    • 查看验证报告,显示每个用例的执行结果

说明:

测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。

SMC计算器功能

SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。

打开SMC计算器

  1. 打开CSR文件,定位到Scanner或Accessor的offset字段

  2. 点击offset字段上方显示的"计算偏移量"按钮

  3. SMC计算器窗口将在右侧打开

SMC命令字解析

SMC计算器提供了强大的命令字解析功能:

  1. 自动解析:当前偏移量会被自动解析,显示各字段的含义
  2. 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
  3. 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
  4. 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明

SMC命令字可视化辅助

openUBMC Studio提供了直观的SMC命令字可视化功能:

  1. 水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看

  2. 悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:

    • 各字段的值
    • 字段的含义
    • 完整的偏移量计算结果

说明:

可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。

拓扑与CSR可视化配置

拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。

创建拓扑配置

  1. 点击openUBMC Studio左侧的拓扑十字形侧边栏图标。

  2. 点击"创建配置"。

  3. 点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。

  4. 创建完成后,拓扑起点为 root.sr

配置拓扑关系

  1. 可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。

  2. 双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。

拖拽器件

打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。

说明:

后续将继续提供整机视角的多CSR配置功能。

能效调速配置

能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。

打开配置页面

点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。

配置能效调速对象

  1. 通过该页面配置能效调速对象,以及配置对象间的关联关系。

  2. 点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。

  3. 点击右上角"生成CSR"即可根据当前配置产生CSR代码片段,可以自行填入CSR文件中。生成CSR过程支持配置语法检查,禁止出现ID冲突等问题。

常用操作

快捷键参考

openUBMC Studio提供了丰富的快捷键支持,帮助开发者提高工作效率:

功能快捷键说明
转到定义Ctrl + 点击F12跳转到符号的定义位置
转到引用Shift + F12查看符号的所有引用位置
查找Ctrl + F在当前文件中查找
全局搜索Ctrl + Shift + F在整个项目中搜索
保存Ctrl + S保存当前文件
全部保存Ctrl + Shift + S保存所有打开的文件
撤销Ctrl + Z撤销上一步操作
重做Ctrl + Y重做上一步操作
快速打开文件Ctrl + P快速打开项目中的文件
命令面板Ctrl + Shift + P打开命令面板,执行各种命令
切换侧边栏Ctrl + B显示/隐藏侧边栏

说明:

可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。

设置与配置

修改用户设置

  1. 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键 Ctrl + ,
  2. 在设置页面中,可以修改各类配置:
    • 编辑器设置(字体、主题、缩进等)
    • CSR规则检查设置
    • 快捷键配置
    • 扩展设置

卸载openUBMC Studio

如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。

Windows系统卸载

  1. 打开“控制面板”>“程序”>“程序和功能”
  2. 在程序列表中找到“openUBMC Studio”
  3. 右键点击,选择“卸载”
  4. 按照卸载向导提示完成卸载

卸载后清理

说明:

卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:

  • 用户数据目录:%APPDATA%\.bmc-Studio
  • 远程连接服务目录:~/.bmcstudio-server

注意
删除配置目录和工作空间数据是不可逆操作,请确保已备份重要数据后再执行删除。

openUBMC Studio BMC环境管理插件使用指南

本文档介绍 openUBMC Studio 的 BMC环境管理 插件(扩展 ID:openubmc.bmcstudio-bmc-remote)的功能与使用方法。该插件用于在 IDE 内集中管理多台 BMC 环境、批量下发命令、上传文件、一键升级固件以及实时监控日志。

简介

BMC环境管理插件在活动栏注册一个「BMC环境管理」容器,下设两个视图:

  • BMC Environments:BMC 环境连接树,按分组组织,管理连接的元数据与凭据。
  • Command Macros:命令宏树,维护可批量下发的命令序列。

插件的核心能力包括:

  • 连接管理:以分组方式管理多台 BMC,单条连接可任选 SSH、Telnet 或 WebView 方式接入。
  • 连通性管理:手动或周期性探测 BMC 可达性,并在状态变化时播报。
  • 命令宏:预定义命令序列与变量,按「全部可达 / 分组 / 手动多选」批量下发,回收结构化结果。
  • SFTP 上传:从资源管理器右键将本地文件或目录上传到 BMC。
  • HPM 一键升级:右键 .hpm 固件包,并发升级多台 BMC,全程进度可视。
  • 实时日志监控:实时 tail 远端 /var/log 日志,支持日志轮转衔接、时间回绕校准与原始文件下载。
  • MCP 工具:对外暴露 25 个 MCP 工具,供 AI Agent 调用,实现自然语言驱动的批量运维。

使用前准备

环境要求

  • 运行平台:推荐 Linux(Ubuntu)。连接管理以 Linux 为目标平台;HPM 升级与日志监控仅依赖 Node 内置模块,三平台行为一致。
  • 系统依赖:建议预装以下工具:
    • openssh-client:SSH 接入与 SFTP 上传。
    • telnet:Telnet 接入与实时日志监控。
    • tar(支持 -z):目录上传与日志下载解压。
    • libsecret-1-0 / gnome-keyring:Linux 下用于安全存储密码。

安装插件

  1. 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按 Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。
  2. 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。

说明:

若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南

BMC 环境管理

新增分组

连接以「分组」为单位组织,系统默认创建一个分组。

  1. BMC Environments 视图标题栏单击「Add Group」按钮。
  2. 输入分组名称并确认。

分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。

新增连接

  1. 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
  2. 在弹出的表单中填写连接信息并保存。

连接字段说明:

字段说明备注
名称 name连接显示名称必填
IP 地址 hostBMC 的 IPv4 地址必填,仅接受 IPv4,非法地址会被拒绝
用户名 username登录用户名必填
密码 password登录密码必填(新增时);密码存于操作系统级安全存储,不落配置文件、不进日志
分组 group所属分组不选则落入首个分组
标签 tags标签数组可选,用于归类
描述 description连接描述可选

接入 BMC

在连接上右键,选择接入方式:

  • Connect via SSH:使用进程内 SSH 客户端登录(兼容老款 BMC 的弱算法与 keyboard-interactive 交互),以伪终端呈现。默认在编辑器区(接近全屏)打开,由配置项 bmc.autoMaximizeTerminal 控制,关闭后回到底部面板。
  • Connect via Telnet:调用系统 telnet 命令接入,需本机已安装 telnet。Telnet 不会自动发送密码,需手动输入。
  • Open in WebView:使用系统浏览器打开 BMC Web UI(https://{host})。

SSH 握手超时由 bmc.connectionTimeout(默认 30 秒)控制。

编辑与删除

  • Edit Configuration / Change Password:修改连接信息。编辑密码时留空表示保留原密码。
  • Disconnect:发送 exit、关闭终端并注销会话。
  • Delete:删除前会弹出模态确认;删除会先关闭相关终端并清理该连接的凭据。

说明:

删除连接会连带删除其凭据;删除分组前需先清空连接或迁移。

连通性管理

插件通过 TCP 探测 SSH 22 端口判断 BMC 可达性,连接树图标实时反映状态(不可达时变红),分组徽章显示「X/Y 可达」。

  • 手动探测单个:右键连接 → 「Check Connection Health」,提示可达 / 不可达。
  • 全量刷新:单击视图标题栏「Refresh」,先把全部连接置为检测中再统一探测。
  • 周期检测:右键连接 → 「开启自动检测连通状态」/「关闭自动检测连通状态」。开启后每 10 秒 探测一轮,仅对开启该项的连接生效。
  • 状态播报:右键连接 → 「开启连通性变更播报」/「关闭连通性变更播报」。上线提示「{分组}/{名称} 已上电」,掉线提示「{名称} 已下电」。

探测超时由 bmc.pingTimeout(默认 3000 毫秒)控制。可达性 = 「TCP 22 端口通 + 已配置凭据」;运行宏、上传、升级前均以此作为就绪判据。

命令宏

命令宏用于预定义「一组有序 shell 命令 + 变量 + 失败策略」,运行时按目标范围批量下发到 BMC,每台环境复用一条 SSH 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。

新建宏

  1. 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
  2. 在表单中填写宏内容并保存。

宏字段说明:

字段说明默认值 / 范围
名称 name宏名称必填
描述 description宏描述可选
命令 commands有序命令列表至少 1 条;每条可单独设置 descriptiontimeoutMsabortOnFailure(遇错:默认 / 中断 / 继续)
变量 variables自定义变量(键名不含 `---

说明:

openUBMC Studio 8 月 1 日版本新增以下功能:

  1. BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
  2. 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键 wbd_build 出白牌/清白牌包。
  3. Manifest 配置与一键出包:可视化编辑 manifest.yml 出包配置,按机型/包型一键构建固件包。
  4. 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。

简介

openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:

  • 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
  • 实时错误检查:基于规则集自动检测代码错误和潜在问题
  • 表达式计算器:支持CSR表达式的编写、调试和批量测试
  • SMC命令字配置:提供可视化的SMC命令字解析和配置工具
  • 模型配置:支持产品和规则集的快速选择与配置
  • 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
  • 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
  • Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
  • 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
  • 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
  • BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
  • 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
  • 社区集成:无缝对接openUBMC社区资源和服务

登录到社区功能

openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。

登录步骤

  1. 点击IDE右下角状态栏中的登录图标

  2. 在弹出的登录页面中输入您的openUBMC社区账号和密码

  3. 点击“登录”按钮完成登录

登录状态保持

登录成功后,IDE会自动保持和刷新登录状态:

  • 自动刷新:IDE会定期刷新登录状态,确保持续有效
  • 状态保持:退出IDE后,登录状态会继续保持一段时间
  • 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录

Conan中心仓集成

登录社区后,IDE会自动同步登录到Conan中心仓:

  • 登录状态自动保持并刷新
  • 只要IDE处于登录状态,Conan就处于登录状态
  • 在执行出包等操作时不会因为认证问题而超时

说明:

建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。

CSR编码辅助功能

openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。

模型配置

使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:

  1. 在模型配置页面中,选择对应的产品和规则集。

  2. 确认产品信息后,选择需要配置的模型文件。

  3. 配置模型文件对应的代码仓和分支信息。

  4. 完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。

说明:

模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。

引用跳转功能

引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。

转到定义

  1. 在代码编辑器中,将光标定位到需要查看定义的符号上。

  2. 使用以下任一方式跳转到定义:

    • 右键点击符号,选择“转到定义”
    • 按住 Ctrl 键,点击符号

  3. 编辑器将自动跳转到符号的定义位置。

转到引用

  1. 在代码编辑器中,将光标定位到需要查看引用的符号上。

  2. 使用以下任一方式查看引用:

    • 按下 Shift + F12
    • 右键点击符号,选择“转到引用”

  3. 在侧边栏将显示所有引用该符号的位置列表。

  4. 点击列表中的项可跳转到对应的引用位置。

鼠标悬停预览定义

  1. 在代码编辑器中,将鼠标悬停在符号上。

  2. 等待片刻,将显示符号的定义预览窗口。

基本规则错误检查功能

openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。

实时检查

模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:

页面中的类型错误和格式错误都会被实时拦截:

表达式中的语法错误也可以被实时拦截:

查看检查结果

  1. 错误和警告会以波浪线形式标注在代码中:

    • 红色波浪线:表示错误(Error)
    • 黄色波浪线:表示警告(Warning)

  2. 查看"问题"面板:

    • 点击底部"问题"标签页
    • 查看所有错误和警告列表
    • 点击列表项可快速定位到对应代码位置

复杂规则校验

openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。

表达式计算器功能

表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。

打开表达式计算器

  1. 打开CSR文件,在表达式上方将显示“计算表达式”按钮

  2. 点击“计算表达式”按钮,表达式计算器窗口将在右侧打开

表达式计算器界面

表达式计算器界面包含以下部分:

  • 表达式编辑区:显示和编辑当前选中的表达式
  • 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
  • 变量面板:显示当前表达式中可用的变量及其值
  • 结果面板:显示表达式计算结果和各级管道的计算过程

修改表达式

  1. 在表达式编辑区查看或修改表达式

  2. 修改完成后,点击“保存到文件”按钮保存修改

  3. 保存后,表达式计算器会自动重新加载表达式

  4. 源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载

调试表达式

  1. 在表达式编辑区查看表达式内容

  2. 在变量面板中输入或修改变量值

  3. 完成输入后,系统将自动计算:

    • 各级管道的中间结果
    • 最终表达式结果

说明:

调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。

表达式批量用例测试

  1. 在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式

  2. 创建测试用例:

    • 按照要求输入测试用例名称和参数值以及结果值
  3. 执行批量测试:

    • 点击“加载用例”加载所有测试用例
    • 点击“Execute all”执行所有测试用例
    • 查看验证报告,显示每个用例的执行结果

说明:

测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。

SMC计算器功能

SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。

打开SMC计算器

  1. 打开CSR文件,定位到Scanner或Accessor的offset字段

  2. 点击offset字段上方显示的"计算偏移量"按钮

  3. SMC计算器窗口将在右侧打开

SMC命令字解析

SMC计算器提供了强大的命令字解析功能:

  1. 自动解析:当前偏移量会被自动解析,显示各字段的含义
  2. 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
  3. 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
  4. 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明

SMC命令字可视化辅助

openUBMC Studio提供了直观的SMC命令字可视化功能:

  1. 水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看

  2. 悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:

    • 各字段的值
    • 字段的含义
    • 完整的偏移量计算结果

说明:

可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。

拓扑与CSR可视化配置

拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。

创建拓扑配置

  1. 点击openUBMC Studio左侧的拓扑十字形侧边栏图标。

  2. 点击"创建配置"。

  3. 点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。

  4. 创建完成后,拓扑起点为 root.sr

配置拓扑关系

  1. 可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。

  2. 双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。

拖拽器件

打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。

说明:

后续将继续提供整机视角的多CSR配置功能。

能效调速配置

能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。

打开配置页面

点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。

配置能效调速对象

  1. 通过该页面配置能效调速对象,以及配置对象间的关联关系。

  2. 点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。

  3. 点击右上角"生成CSR"即可根据当前配置产生CSR代码片段,可以自行填入CSR文件中。生成CSR过程支持配置语法检查,禁止出现ID冲突等问题。

常用操作

快捷键参考

openUBMC Studio提供了丰富的快捷键支持,帮助开发者提高工作效率:

功能快捷键说明
转到定义Ctrl + 点击F12跳转到符号的定义位置
转到引用Shift + F12查看符号的所有引用位置
查找Ctrl + F在当前文件中查找
全局搜索Ctrl + Shift + F在整个项目中搜索
保存Ctrl + S保存当前文件
全部保存Ctrl + Shift + S保存所有打开的文件
撤销Ctrl + Z撤销上一步操作
重做Ctrl + Y重做上一步操作
快速打开文件Ctrl + P快速打开项目中的文件
命令面板Ctrl + Shift + P打开命令面板,执行各种命令
切换侧边栏Ctrl + B显示/隐藏侧边栏

说明:

可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。

设置与配置

修改用户设置

  1. 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键 Ctrl + ,
  2. 在设置页面中,可以修改各类配置:
    • 编辑器设置(字体、主题、缩进等)
    • CSR规则检查设置
    • 快捷键配置
    • 扩展设置

卸载openUBMC Studio

如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。

Windows系统卸载

  1. 打开“控制面板”>“程序”>“程序和功能”
  2. 在程序列表中找到“openUBMC Studio”
  3. 右键点击,选择“卸载”
  4. 按照卸载向导提示完成卸载

卸载后清理

说明:

卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:

  • 用户数据目录:%APPDATA%\.bmc-Studio
  • 远程连接服务目录:~/.bmcstudio-server

注意
删除配置目录和工作空间数据是不可逆操作,请确保已备份重要数据后再执行删除。

openUBMC Studio BMC环境管理插件使用指南

本文档介绍 openUBMC Studio 的 BMC环境管理 插件(扩展 ID:openubmc.bmcstudio-bmc-remote)的功能与使用方法。该插件用于在 IDE 内集中管理多台 BMC 环境、批量下发命令、上传文件、一键升级固件以及实时监控日志。

简介

BMC环境管理插件在活动栏注册一个「BMC环境管理」容器,下设两个视图:

  • BMC Environments:BMC 环境连接树,按分组组织,管理连接的元数据与凭据。
  • Command Macros:命令宏树,维护可批量下发的命令序列。

插件的核心能力包括:

  • 连接管理:以分组方式管理多台 BMC,单条连接可任选 SSH、Telnet 或 WebView 方式接入。
  • 连通性管理:手动或周期性探测 BMC 可达性,并在状态变化时播报。
  • 命令宏:预定义命令序列与变量,按「全部可达 / 分组 / 手动多选」批量下发,回收结构化结果。
  • SFTP 上传:从资源管理器右键将本地文件或目录上传到 BMC。
  • HPM 一键升级:右键 .hpm 固件包,并发升级多台 BMC,全程进度可视。
  • 实时日志监控:实时 tail 远端 /var/log 日志,支持日志轮转衔接、时间回绕校准与原始文件下载。
  • MCP 工具:对外暴露 25 个 MCP 工具,供 AI Agent 调用,实现自然语言驱动的批量运维。

使用前准备

环境要求

  • 运行平台:推荐 Linux(Ubuntu)。连接管理以 Linux 为目标平台;HPM 升级与日志监控仅依赖 Node 内置模块,三平台行为一致。
  • 系统依赖:建议预装以下工具:
    • openssh-client:SSH 接入与 SFTP 上传。
    • telnet:Telnet 接入与实时日志监控。
    • tar(支持 -z):目录上传与日志下载解压。
    • libsecret-1-0 / gnome-keyring:Linux 下用于安全存储密码。

安装插件

  1. 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按 Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。
  2. 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。

说明:

若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南

BMC 环境管理

新增分组

连接以「分组」为单位组织,系统默认创建一个分组。

  1. BMC Environments 视图标题栏单击「Add Group」按钮。
  2. 输入分组名称并确认。

分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。

新增连接

  1. 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
  2. 在弹出的表单中填写连接信息并保存。

连接字段说明:

字段说明备注
名称 name连接显示名称必填
IP 地址 hostBMC 的 IPv4 地址必填,仅接受 IPv4,非法地址会被拒绝
用户名 username登录用户名必填
密码 password登录密码必填(新增时);密码存于操作系统级安全存储,不落配置文件、不进日志
分组 group所属分组不选则落入首个分组
标签 tags标签数组可选,用于归类
描述 description连接描述可选

接入 BMC

在连接上右键,选择接入方式:

  • Connect via SSH:使用进程内 SSH 客户端登录(兼容老款 BMC 的弱算法与 keyboard-interactive 交互),以伪终端呈现。默认在编辑器区(接近全屏)打开,由配置项 bmc.autoMaximizeTerminal 控制,关闭后回到底部面板。
  • Connect via Telnet:调用系统 telnet 命令接入,需本机已安装 telnet。Telnet 不会自动发送密码,需手动输入。
  • Open in WebView:使用系统浏览器打开 BMC Web UI(https://{host})。

SSH 握手超时由 bmc.connectionTimeout(默认 30 秒)控制。

编辑与删除

  • Edit Configuration / Change Password:修改连接信息。编辑密码时留空表示保留原密码。
  • Disconnect:发送 exit、关闭终端并注销会话。
  • Delete:删除前会弹出模态确认;删除会先关闭相关终端并清理该连接的凭据。

说明:

删除连接会连带删除其凭据;删除分组前需先清空连接或迁移。

连通性管理

插件通过 TCP 探测 SSH 22 端口判断 BMC 可达性,连接树图标实时反映状态(不可达时变红),分组徽章显示「X/Y 可达」。

  • 手动探测单个:右键连接 → 「Check Connection Health」,提示可达 / 不可达。
  • 全量刷新:单击视图标题栏「Refresh」,先把全部连接置为检测中再统一探测。
  • 周期检测:右键连接 → 「开启自动检测连通状态」/「关闭自动检测连通状态」。开启后每 10 秒 探测一轮,仅对开启该项的连接生效。
  • 状态播报:右键连接 → 「开启连通性变更播报」/「关闭连通性变更播报」。上线提示「{分组}/{名称} 已上电」,掉线提示「{名称} 已下电」。

探测超时由 bmc.pingTimeout(默认 3000 毫秒)控制。可达性 = 「TCP 22 端口通 + 已配置凭据」;运行宏、上传、升级前均以此作为就绪判据。

命令宏

命令宏用于预定义「一组有序 shell 命令 + 变量 + 失败策略」,运行时按目标范围批量下发到 BMC,每台环境复用一条 SSH 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。

新建宏

  1. 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
  2. 在表单中填写宏内容并保存。

宏字段说明:

字段说明默认值 / 范围
名称 name宏名称必填
描述 description宏描述可选
命令 commands有序命令列表至少 1 条;每条可单独设置 descriptiontimeoutMsabortOnFailure(遇错:默认 / 中断 / 继续)
变量 variables自定义变量(键名不含 )与内置变量合并;同名时内置优先
失败策略 onError宏级策略continue(继续)/ abort(中断该环境后续命令);默认 continue
命令超时 timeoutMs单条命令超时(毫秒)默认 30000;单条命令可覆盖
并发度 concurrency环境间并发度1–8,默认 1
标签 tags标签(表单中逗号分隔)可选

变量替换

命令模板支持变量占位:

  • 语法:$VAR${VAR}$ 转义为字面 。

  • 内置变量(按每台环境各自替换,优先级高于自定义):

    变量含义
    $HOSTBMC IP 地址
    $USER登录用户名
    $NAME连接名称
    $CONN_ID连接 ID
    $GROUP分组名称

说明:

未定义的变量保留原样(不会被置空),以避免因拼写错误导致类似 rm -rf /tmp/$UNDEF/* 的危险展开。

运行宏

  • Run Macro...:右键宏 → 选择目标范围(「所有可达且有凭据的环境」/「按分组」/「手动多选」)→ 模态确认后执行。
  • Run on Group... / Run on All Reachable:右键宏快速按分组或全部可达执行;后者也可用视图标题栏的火箭图标。

运行前会弹出确认:「命令可能对 BMC 造成不可逆影响,是否继续?」。

每台环境内的命令严格串行(后一条常依赖前一条结果);环境间并发受 concurrency 限制(上限 8)。不可达或无凭据的环境自动跳过并标注,不阻断其他环境。每台环境的结果状态包括:

状态含义
ok全部命令成功
partial部分命令失败
aborted该环境被中断(如命令超时)
unreachable不可达
error无凭据或连接失败

注入终端

除批量执行外,宏还支持把命令注入到已打开的终端:

  • Run Macro in Terminal...:右键某连接 → 选择宏 → 命令注入该连接已打开的 SSH/Telnet 终端,复用连接与终端上下文,输出保留在终端中。
  • 双击宏:注入当前活动终端(任意终端;若该终端属于某 BMC 连接,则解析其内置变量)。

注入模式无法读回退出码,因此失败判断交由远端 shell:全部「继续」时按换行拼接逐条执行;存在「中断」时用 && 串联,并把「继续」型命令包成不阻断链路的形式。

筛选与结果

  • Filter by Tag:视图标题栏按标签筛选宏(含「无 tag」选项)。
  • 结果写入 BMC Remote 输出通道(OutputChannel),包含每条命令的退出码、stdout、stderr 与汇总。

SFTP 上传

  1. 在资源管理器中右键本地文件或目录 → 「上传到 BMC 环境」。
  2. QuickPick 列出全部连接并实时探测连通性,仅可达环境可选
  3. 选择目标 BMC 后,进度通知显示上传过程,完成后默认上传到远端 /tmp

单文件使用 SFTP 直传;目录上传采用「本地 tar.gz 打包 → 传输 → 远端 tar -xzf 解压」流程。

说明:

目录上传需本机与远端均安装 tar(支持 -z),缺失会提示安装方式。无凭据或不可达的环境不可选。

HPM 一键升级

  1. 在资源管理器中右键 .hpm 固件包 → 「一键升级到 BMC 环境」(仅 .hpm 文件出现该菜单项)。
  2. 多选目标 BMC(实时探测连通性,不可达项自动忽略),仅保留可达且有凭据的环境。
  3. 模态危险确认:「将对 N 个环境升级固件 xxx.hpm,升级期间 BMC 可能重启且不可中断,是否继续?」。
  4. 进度通知显示整体进度,完成后给出成功 / 失败汇总;失败环境的右下角通知可一键打开输出查看原因。

升级按 BMC HTTPS REST 协议执行「登录 → 上传 → 触发 → 轮询 → 登出」,使用 443 端口,自签名证书自动放行。

相关配置项:

配置项默认值说明
bmc.upgradeConcurrency3(1–8)多 BMC 并发度,重操作建议保守
bmc.upgradePollDeadlineMs600000单台轮询整体硬超时(默认 10 分钟)
bmc.upgradePollErrorTolerance5轮询连续失败容错次数,兼容升级中途 BMC 重启
bmc.upgradeUploadTimeoutMs300000REST 上传 HTTP 超时(超时自动转 SFTP 兜底)

BMC 重启期间,进度条数值暂停在最后已知值,提示信息切换为「设备异常不通,正在尝试重新查询升级状态」,避免被误判为卡死或误报成功。常见失败原因:登录失败(检查账号密码与 443 端口)、触发失败、状态异常、轮询连续失败、上传失败、网络错误。

注意:

升级为破坏性、不可逆操作,一旦开始不可取消。请确认固件版本与目标环境正确后再执行。

实时日志监控

  1. 在连接树右键某连接 → 「实时日志监控」。
  2. 插件通过 Telnet 列出 /var/log,归并出日志基名,QuickPick 选择目标日志。
  3. 打开日志监控 Webview(标题「{连接名} 日志监控」),实时追加日志。
  4. 顶部按钮:「日志信息下载」(可选「下载当前窗口内容」/「下载远程原始文件」)、「清空」、「停止」;滚动离开底部时出现「回到底部」。

核心能力:

  • 日志轮转无缝衔接:跟随文件名 tail,在日志压缩切换瞬间自动重开新文件,流不中断。
  • 时间回绕校准:当系统时间回绕(年份小于 rewindMinYear,典型如 1970)时,自动估算并标注 [估算],时间恢复后线性插值回填 [校准]
  • 断线自动重连:默认开启,退避重连且不重置状态机。
  • 下载双通道:优先 SFTP 取回原始文件(含 .gz);SSH/SFTP 不可用时自动回退 Telnet 八进制传输。
  • 下载后自动拼接:解压所有 .gz 并按时间顺序拼接为完整日志。

相关配置项:

配置项默认值说明
bmc.logMonitor.maxBufferedLines5000后端缓冲日志行数上限(超出丢最旧)
bmc.logMonitor.tailInitialLines200启动时初始输出行数
bmc.logMonitor.rewindMinYear2000年份小于该值视为回绕
bmc.logMonitor.autoReconnecttrue断线是否自动重连
bmc.logMonitor.reconnectAttempts3自动重连尝试次数
bmc.logMonitor.downloadGziptrue下载原始文件是否包含 .gz

说明:

仅开放 SSH(23 端口不通)的 BMC 无法使用日志监控。下载原始文件时密码可选(仅 SFTP 下载需要,缺失时自动回退 Telnet 传输)。

配置项总览

除上述章节提到的配置外,所有配置集中在 bmc.* 命名空间。可通过侧栏视图标题栏的齿轮按钮(「Open Settings」)直接打开本扩展配置页。

配置项类型默认值用途
bmc.connectionTimeoutnumber30000SSH 连接超时(毫秒)
bmc.pingTimeoutnumber3000可达性 TCP 探测超时(毫秒)
bmc.autoMaximizeTerminalbooleantrueBMC 终端在编辑器区(而非底部面板)打开
bmc.upgradeConcurrencynumber3HPM 升级并发度(1–8)
bmc.upgradePollDeadlineMsnumber600000单台升级轮询整体硬超时
bmc.upgradePollErrorTolerancenumber5轮询连续失败容错次数
bmc.upgradeUploadTimeoutMsnumber300000HPM 上传 HTTP 超时
bmc.logMonitor.*日志监控相关参数,见「实时日志监控」章节

与 AI 协作:MCP 工具

插件对外暴露 25 个 MCP 工具,可由 openUBMC Studio 的 MCP 宿主以鸭子类型发现,供 AI Agent 调用,实现自然语言驱动的批量运维。凭据由安全存储服务端读取,绝不进入工具的输入参数或返回结果;连接、分组、宏均可用 ID 或名称(大小写不敏感)引用。

主要工具分类:

  • 查询与探测:列出连接 / 分组、健康探测。
  • SSH 执行 / SFTP 上传:单命令执行、单文件 / 目录上传。
  • 连接与分组管理:增删改、自动检测与播报开关。
  • 命令宏:列出(可按标签过滤)、运行、新增、删除。
  • HPM 升级:指定固件与目标范围,返回逐环境结果与汇总。

UI 命令与 MCP 工具共用同一套执行核心,结果一致。

常见问题与注意事项

  • 密码安全:所有密码存于操作系统级安全存储,不落配置文件、不进日志、不在 MCP 输入输出中回显。
  • 平台支持:连接管理以 Linux 为目标平台;Windows / macOS 未纳入连接管理的测试范围。
  • 可达性判据:宏、上传、升级在执行前均以「TCP 22 通 + 有凭据」作为就绪判据,不可达环境自动跳过。
  • HPM 升级不可逆:一旦开始不可取消,BMC 可能中途重启,请确认无误后再执行。
  • Telnet 依赖:Telnet 接入与日志监控依赖系统 telnet 命令;目录上传与日志下载依赖 tar

openUBMC Studio 白牌包定制指南

本章节介绍 openUBMC Studio 的 白牌包定制 能力:在 IDE 内通过可视化编辑器定制 BMC 白牌包的 Web 界面风格、Logo/图片、产品信息等,并一键调用 bingo wbd_build 构建出白牌固件包。

说明:

本能力由 openUBMC Studio CSR 拓扑插件(bmcstudio_csr_topolopy)提供。关于白牌包定制的官方概念与字段含义,另见 白牌包定制官方指南

简介

白牌包定制用于把 BMC 从默认外观/信息改造为某品牌或客户专属形态,涵盖三类定制:

  • 配置定制:产品联系信息、SSL 证书字段、软件名称、主机名、客户名等,写入 web_custom.xml
  • 风格定制:Web 主界面风格(精美/简约/标准),写入 style_config.json
  • 图片定制:浏览器图标、登录页 Logo、技术支持二维码、Web 界面图片等,写入 filelist.conf 声明并随包发布。

白牌包定制分两种模式:

模式作用
白牌包(普通)把 BMC 定制为目标品牌/客户形态
清白牌包一种特殊白牌包,把已定制的 BMC 恢复为默认配置

两类模式共用同一套可视化编辑器与构建流程。

使用前准备

  • 构建工具:需安装 bmcgobingo,且支持 wbd_build 子命令。插件会优先尝试 bmcgo,不可用时回退 bingo
  • 工作目录:准备一个用作白牌目录的文件夹(可为空)。白牌定制涉及的核心文件会生成在该目录下,构建产物 wbd-crypt-image-signed.hpm 也会落回该目录。

打开白牌定制编辑器

在资源管理器中右键单击任意文件夹,选择 「定制白牌文件」 即可打开白牌定制编辑器(webview)。

打开时的行为遵循「缺哪个补哪个」:

  • 若目录下尚无白牌文件,会自动创建默认的 filelist.confweb_custom.xmlstyle_config.json(默认风格 beautiful、版本 2.00);同时扫描目录里已存在的图片自动加入 filelist.conf 声明,避免「图片在但 filelist 没声明」的不一致。
  • 若目录下已有白牌文件,则按现有配置加载到编辑器中。

编辑器为单例面板:同一文件夹重复右键打开会回到已打开的面板;不同文件夹各自打开独立面板,互不干扰。

编辑器界面

编辑器顶部为模式切换与版本号,下方分为「配置定制」「风格定制」「图片定制」三个区域,底部为「保存」「构建」按钮。

模式与版本号

  • 模式白牌包 / 清白牌包 单选。切换到清白牌模式时,会隐藏「风格定制」段、图片按 BMC 路径分组展示、构建按钮文案变为「清白牌包构建」。图片在两种模式间共享,切换不重置。
  • 版本号:格式 x.yy 最多两位,如 1.02.01.10),保存后写入 web_custom.xml<?xml version="..."?> 头部。加载时从 XML 头部解析回填。必填且需通过正则校验,否则保存/构建按钮禁用。

配置定制(web_custom.xml)

可视化表单对应 web_custom.xml 的 17 个属性,每项带 tooltip 说明,只需填写需要的项:

字段说明
sysContact维护联系人
dBannerContent默认横幅内容
PreSSLSeverCommonName / PreSSLSeverOrgName / PreSSLSeverCountry预置 SSL 证书通用名/组织/国家
OfficalWeb / SupportWeb官网 / 技术支持网址
Copyright版权信息
Email / Phone邮箱 / 电话
DownloadKVMLinkKVM 下载链接
DocSupportFlag文档支持标记(取值 0/1
SoftwareName软件名称
CustomAlarmName自定义告警名称
CustomManufacturer自定义厂商
HostName主机名
Customer客户名

保存时只输出非空字段;DocSupportFlag 取值必须为 01

风格定制(style_config.json)

选择 Web 主界面风格 pageStyle

  • beautiful(精美,默认)
  • simple(简约)
  • standard(标准)

pageStyle 在白牌模式下必填(不选会校验失败,保存/构建禁用);清白牌模式下该段隐藏,style_config.json 强制写空对象 {}

图片定制(filelist.conf)

可定制 8 张图片,每张对应固定的 BMC 路径与文件名,已按类型限制只能选择对应类型图片:

分组文件名BMC 路径
浏览器图标favicon.ico/data/opt/pme/web/htdocs
技术支持二维码code1.png/data/opt/pme/web/htdocs/theme/custom/img
Web 界面图片login.pnglogin_logo.pngimg_01.pngimg_02.pngimg_03.pngheader_logo.png/data/opt/pme/web/custom

每张图卡片支持「选择图片 / 更换 / 删除」;保存时所选图片会被复制到白牌目录(文件名与 filelist.conf 的声明一致)。

保存

点击「保存」执行两步:

  1. 同步图片:把所选图片复制到白牌目录,文件名改为与 filelist.conf 声明一致;
  2. 生成文件:按当前配置写出 filelist.confweb_custom.xmlstyle_config.json

保存成功后右下角提示「白牌配置已保存」。

构建白牌包

点击「白牌包构建」(清白牌模式为「清白牌包构建」),流程如下:

  1. 校验pageStyle 必填、DocSupportFlag 合法、版本号格式正确(实时校验,通过后才允许构建);
  2. 自动保存:有未保存改动时先自动保存,保存成功后再构建;
  3. 前置文件检查:核对 filelist.conf 声明的文件是否都实际存在;
    • 仅图片缺失 → 自动清理 filelist 中缺失声明并提示重新构建;
    • 核心文件(web_custom.xml/style_config.json)缺失 → 报错,需手动处理;
  4. 临时目录构建:把白名单文件(filelist.conf、其声明的文件、可选 beforeaction.sh/afteraction.sh)复制到临时目录,在其中执行 bingo wbd_build,终端面板实时输出进度(可手动终止);
  5. 产物落回:构建成功后产物 wbd-crypt-image-signed.hpm 自动复制回原白牌目录(同名覆盖),右下角提示带完整路径;
  6. 按钮状态:构建期间按钮变为「构建中...」并禁用,结束后无论成功/失败/终止都恢复。

说明:

为什么要切到临时目录:bingo 命令清单对当前工作目录敏感,在 manifest 项目根或组件目录下会过滤掉 wbd_build。因此构建一律先切到脱离任何 manifest 树的临时目录执行,跑完再把产物复制回来。

工具回退:优先 bmcgo,不可用回退 bingo;执行中若返回退出码 127(命令不存在)会自动换另一个工具重试一次,其他业务错误不重试。

常见失败提示

场景提示
缺图片(可自动清理)已自动清理 filelist 中缺失的图片声明:xxx,请重新构建
缺核心文件白牌目录缺少必要文件:xxx,请重新保存完整配置
bingo 退出码非 0白牌包构建失败(退出码 N),请查看终端输出
用户 Ctrl+C白牌包构建已终止
工具未找到未找到打包工具,请先安装

清白牌包定制(恢复默认)

清白牌包用于把 BMC 从已定制状态恢复为默认配置,三类恢复默认规则:

  • 配置定制web_custom.xml 写默认值;
  • 风格定制style_config.json 写空对象 {}
  • 图片定制:要恢复默认的图片在 filelist.conf 中将 Name= 改为 CLEAR_ALL(BMC 路径不变),并在白牌目录创建一个空 CLEAR_ALL 文件。

切到清白牌模式后,8 张图按 BMC 路径分 3 组展示(浏览器图标 / 技术支持二维码 / Web 界面图片),每组有组级复选框可整组恢复默认。

说明:

CLEAR_ALL 按路径去重:BMC 检测到某路径下有 CLEAR_ALL 文件就清空整个目录,与 filelist 中声明数量无关。因此同一 BMC 路径下多张图标记恢复默认时,filelist.conf 只生成一条 Name=CLEAR_ALL(例如 Web 界面图片组 6 张共用一个路径 → 只写 1 条)。

清白牌构建链路与白牌包完全一致(临时目录 + 白名单复制 + bingo wbd_build + HPM 落回原目录);filelist.confVersion2.02(白牌模式为 2.00)。

常见问题与注意事项

  • 按钮一直禁用:检查 pageStyle 是否已选(白牌模式必填)、DocSupportFlag 是否为 0/1、版本号是否符合 x.yy 最多两位)。
  • 图片显示但构建报缺失:以文件实际存在为准;缺图片会被自动清理,按提示重新构建即可。
  • 找不到 wbd_build 命令:不要在 manifest 项目根或组件目录下手动执行;编辑器的临时目录构建已规避此问题。若仍报工具未找到,请确认 bmcgo/bingo 已安装并在 PATH。
  • 产物位置wbd-crypt-image-signed.hpm 总是生成并覆盖回右键打开的白牌目录,不会留在临时目录。
  • 清白牌模式风格段消失:属预期,清白牌会把 style_config.json 强制写为 {}

openUBMC Studio Manifest 配置与一键出包指南

Manifest 配置

Manifest 配置功能用于可视化查看和修改 manifest.yml 中的出包配置,包括构建变体、默认特性、组件依赖和组件特性。配置面板会结合 lockfile 显示组件的实际版本和生效配置,并在写回文件时尽量保留原有注释、缩进和其他未修改内容。

说明:

Manifest 配置功能当前支持 Linux 环境,完整解析组件版本和特性需要安装 Conan 2.x。
建议将 manifest 仓根目录作为受信任的工作空间打开,并确认目标产品的配置文件位于 build/product/<产品线>/<机型>/manifest.yml

打开出包配置

  1. 在 openUBMC Studio 中打开需要配置的 manifest.yml 文件。
  2. 点击依赖配置上方的“打开出包配置”。也可以打开命令面板,执行“Manifest: 打开出包配置面板(变体/依赖/默认特性)”。
  3. 在“出包配置”页面查看 schema 类型、平台包和 lockfile 状态,以及构建变体、默认特性、组件依赖和诊断结果。

配置构建变体和默认特性

  1. 在“构建变体”区域选择需要配置的 manufacturetosupporte 变体。未选择变体时,页面展示并修改基线配置。
  2. 查看当前变体的 build_typesignature_typeplatform.package 信息。选择变体后,依赖列表展示该变体与基线合并后的生效结果。
  3. 在“默认特性 default_options”区域修改已有特性,或点击“新增一项”添加特性。
  4. 点击“保存默认特性”,将配置写回当前基线或变体。

说明:

切换变体或清空默认特性前,如果存在未保存的修改,openUBMC Studio 会提示是否丢弃修改。

配置组件依赖和特性

  1. 在“依赖 dependencies”区域查看基础组件,dt_dependencies(gcov)、debug_dependencies(dev)、qemu_dependencies(qemu)分别以独立卡片展示。
  2. 根据需要执行以下操作:
    • 点击“插入”,从候选列表中向当前依赖类型添加组件。
    • 点击“特性”,展开组件的 optionstool_options。特性值会标识为“显式”、“继承默认”或“recipe 默认”。
    • 配置变体时,点击“删除”或“取消删除”,设置或取消组件的 action: delete 状态。
    • 点击“移除”,删除当前基线或变体中直接声明的组件。
  3. 修改组件特性后,点击“保存到 manifest”。

说明:

platform.package 已配置时,平台整包中的组件会显示“锁”标识,其版本和特性不可在产品 Manifest 中定制。
变体中继承自基线的组件不能直接从变体中移除,如需删除其声明,请切换到基线操作。

查看 SDK 组件

  1. platform.conan 配置上方点击“查看 ibmc_sdk 组件”,或在 openubmc_sdk.conan 配置上方点击“查看 openubmc_sdk 组件”。
  2. 在“SDK 组件”页面查看组件名称、版本或 Conan 引用,以及组件清单的来源。
  3. 在搜索框中输入组件名称,可以筛选当前 SDK 中的组件。

组件与固件联合构建

组件与固件联合构建功能用于在业务组件仓中构建本地 Conan 包,并将该组件集成到目标产品的调试固件中。本章节适用于需要验证组件改动或生成联调固件的组件开发人员。

准备构建环境

执行组件构建前,请准备以下环境:

  • 受信任的 Linux 本地、WSL 或 SSH Remote 工作空间
  • 包含有效 mds/service.json 的业务组件仓
  • 安装在 Extension Host 中的 Conan 2.x
  • 登录 Shell 可以执行 bmcgobingo

执行组件与固件联合构建时,还需要满足以下要求:

  • Extension Host 中已安装 Git
  • 目标 Manifest 可以从同一 Extension Host 访问
  • 目标 Manifest 位于 build/product/<产品线>/<机型>/manifest.yml
  • 目标 Manifest 所在仓库具有有效的 Git HEAD
  • 目标 Manifest 的修改已经保存
  • 目标 Manifest 未配置非空的 include

说明

如果同时检测到 bmcgobingo,openUBMC Studio 默认使用 bmcgo,并允许用户切换构建工具。组件构建面板与固件出包页面共用此设置。仅检测到 bingo 时,openUBMC Studio 直接使用 bingo

打开组件构建面板

  1. 将包含 mds/service.json 的业务组件仓作为工作空间打开。
  2. 在资源管理器中展开“业务组件仓快捷入口”。
  3. 展开“openUBMC Studio Local View”。
  4. 单击“组件构建”。
  5. 等待构建计划解析完成。

通过资源管理器中的快捷入口打开组件构建面板。

组件构建面板默认进入“仅组件模式 · 不关联 Manifest”,并显示组件包、组件 options、阻断项和诊断信息。

展开“运行环境与命令详情”,可以查看登录 Shell、工具路径、命令预览和目标 profile。展开“查证与会话技术详情”,可以查看组件包身份、依赖图和沙箱覆盖的证据位置。

仅构建组件

仅构建组件适用于只需要生成本地组件包、不需要生成固件的场景。此模式不创建 Manifest 沙箱,也不执行 install_sdkapppublish

  1. 确认页面处于“仅组件模式”。
  2. 如果已经选择固件目标,单击“返回仅组件模式”。
  3. 在“组件 options”区域选择需要的值。
  4. 确认“阻断项”为空。
  5. 根据需要展开“运行环境与命令详情”,检查命令预览。
  6. 单击“仅构建组件”。
  7. 在 Task 终端中查看构建输出。
  8. 构建完成后,确认“执行状态”为“成功”。
  9. 展开“查证与会话技术详情”,查看“组件独立构建包身份证明”。

只能选择当前 mds/service.json 中声明且类型一致的 option 值。openUBMC Studio 使用 debug build type 和 stable channel 构建组件。Task 终端会显示组件构建过程和最终结果。

Task 退出码为 0 后,openUBMC Studio 会从本地 Conan cache 验证本次组件包的 reference、RREV、package ID、PREV、settings 和 options。如果无法唯一确定本次组件包,构建结果仍会标记为失败。

注意

组件 Task 在源码仓根目录中执行,可能创建或刷新 conanbase.pytemp/gen/ 以及 mds/service.json 中声明的代码生成目录。如果其他受保护文件发生变化,openUBMC Studio 会停止后续流程,但不会自动回滚文件。执行构建前,请保存重要修改。

构建组件并转到固件出包

组件与固件联合构建适用于生成包含当前组件改动的调试固件。openUBMC Studio 会在隔离的 Manifest 沙箱中应用组件包,不会修改源 Manifest、SDK 或 subsystem 文件。

选择固件目标

  1. 单击“选择固件目标”(已选择目标时显示为“更换固件目标”)。
  2. 选择需要构建的 tosupportemanufacture 包型。
  3. 如果列表中没有目标文件,单击“选择其他 manifest.yml…”。
  4. 选择当前 Extension Host 可以访问的 manifest.yml
  5. 等待构建计划刷新完成。
  6. 确认页面标题下方显示正确的产品线、机型和包型。

固件目标列表显示已发现的产品、包型和 Manifest 路径。选择结果会自动缓存。

选择固件目标后,组件 options 由目标 Manifest 的生效配置锁定,不能在面板中修改。如果源码版本不满足目标版本约束,页面会显示非阻断提示;apppublish 仍会验证实际选中的组件包。无法安全解析配置或 option 时,页面会阻止构建。

执行联合构建

  1. 确认“阻断项”为空。
  2. 展开“运行环境与命令详情”。
  3. 检查 install_sdk、组件构建、app 预检和 publish 命令。
  4. 单击“构建组件并转到固件出包”。
  5. 在 Task 终端中查看构建输出。

openUBMC Studio 按以下顺序执行联合构建:

  1. 复制 Manifest 的 Git 源输入并创建临时沙箱。
  2. 在沙箱中将所选包型的 build_type 设置为 debug
  3. 使用 stable channel 执行 install_sdk
  4. 使用目标 profile 构建并验证当前组件包。
  5. 在沙箱当前包型的 dependencies 中写入组件的精确 reference、RREV 和业务 options。
  6. 使用 stable channel 执行 app 依赖图预检。
  7. 验证依赖图选择的组件 recipe、目标 profile 和业务 options。
  8. 打开“固件出包”页面并自动启动 stable channel 的 publish 任务。

验证联合构建结果

  1. 在组件构建面板中确认“执行状态”为“成功”。
  2. 确认“组件包证明”和“app 目标包证明”均已通过。
  3. 在自动打开的“固件出包”页面中查看计划组件和本次实际组件。
  4. 确认固件任务退出码为 0。
  5. 在“自动发现的本次产物”区域下载需要的固件产物。

在“固件出包”页面中核对计划组件和本次实际组件,确认固件使用了本次构建的组件包。

在“自动发现的本次产物”区域下载需要的固件文件。

组件会话、固件出包交接和固件任务分别记录结果。组件页面显示成功,表示组件包身份和 app 选包已经验证;固件是否成功以固件出包页面中 bmcgobingo 的退出码为准。未自动发现 HPM、ZIP 或 QEMU 文件不会改变固件任务的结果,需要结合 output 目录和完整的 task.log 确认实际文件。

选择合法的 tosupporte/qemu 目标时,apppublish 会自动启用 QEMU 构建参数。固件出包页面会尝试发现 .data.gz.cpio.gz 产物并提供下载入口。后续操作请参见一键出包

停止构建任务

关闭组件构建页面不会停止正在运行的任务。重新打开同一组件仓,可以继续查看当前会话。

  • 组件构建阶段:单击“取消”
  • 固件构建阶段:在“固件出包”页面中单击“终止任务”

清理构建沙箱

  1. 等待固件任务进入成功、失败或取消状态。
  2. 下载需要保留的固件产物。
  3. 返回组件构建页面。
  4. 单击“清理本次沙箱”。
  5. 在确认窗口中单击“清理本次沙箱”。

开始下一轮构建时,也可以在提示窗口中单击“清理并继续”。

注意

清理沙箱会永久删除本次联合构建生成的临时 Manifest、日志和固件产物,且无法恢复。openUBMC Studio 重启后也不保证能够访问旧会话产物。执行清理前,请下载需要保留的产物。

处理常见问题

诊断码或现象处理建议
WORKSPACE_UNTRUSTEDUNSUPPORTED_PLATFORM在受信任的 Linux 本地、WSL 或 SSH Remote 工作空间中重新打开组件仓。
BUILD_TOOL_NOT_FOUNDSHELL_ENV_RESOLVE_FAILED确认登录 Shell 可以执行 bmcgobingo,并可以执行 Conan 2.x;也可以单击“配置工具路径”。
TARGET_MANIFEST_INVALIDMANIFEST_GIT_CONTEXT_UNAVAILABLE保存并检查目标 Manifest;确认已安装 Git,目标仓具有有效 HEAD,且没有非空 include
PLAN_STALE组件源码、mds/service.json、Manifest 或相关 SDK 输入在计划生成后发生变化;保存文件并单击“刷新计划”。
PROFILE_DRIFT、共享构建资源等待避免在其他 Studio 窗口或外部终端中同时修改同一 Conan profile 或 cache,等待当前任务结束后刷新计划。
COMPONENT_VERSION_OUT_OF_RANGE此提示不会阻止构建。确认源码版本符合本次调试目的后继续,实际选包仍由沙箱中的 apppublish 依赖图验证。
INTEGRATION_MISMATCH展开“查证与会话技术详情”,检查独立组件包、整包目标组件包、app 依赖图和 options 差异。
MANIFEST_INPUT_LIMIT_EXCEEDEDINSUFFICIENT_DISK_SPACE清理 Manifest 仓中未忽略的大文件或释放沙箱所在卷空间;确有需要时在“组件构建”设置中调整输入上限或最低可用空间。
DEBUG_PACKAGE_SIGNING_UNAVAILABLE此提示不会阻止构建。固件签名或占位行为由 bmcgobingo 决定,请以固件任务退出码和产物为准。
FIRMWARE_PACKAGE_HANDOFF_FAILED组件包和 app 预检可能已经成功;根据提示中的沙箱 Manifest 和覆盖报告,在固件出包页面检查阻断项并重试。

一键出包

一键出包功能可以根据产品 manifest.yml 中的 tosupportemanufacture 包型生成构建命令,完成环境预检并启动固件构建。构建过程中可以查看计划组件、实际组件、构建进度和日志,构建完成后可以下载本次生成的固件产物。

说明:

执行一键出包需要使用受信任的 Linux 本地、WSL 或 SSH Remote 工作空间,manifest 仓及其 output 目录需要具备写权限。
用户登录 Shell 环境中需要存在 bmcgobingo 命令。检测到 bmcgo 时默认使用 bmcgo 并支持切换到 bingo;仅检测到 bingo 时直接使用 bingo

选择机型和包型

可以通过以下任一方式进入出包流程:

  • 在资源管理器的“快捷入口”中展开“openUBMC Studio Local View”,点击对应机型的出包入口,例如 BMC/openUBMC 出包
  • 打开产品 manifest.yml,点击目标 tosupportemanufacture 包型上方的入口,例如 default 出包入口,直接进入该包型的出包页面。

通过“出包配置”页面或“快捷入口”进入时,按以下步骤选择包型:

  1. 在“固件包类型选择”页面查看当前机型的所有包型。页面按照“To Support E”和“Manufacture”分组,显示包型名称、构建类型、包名和签名类型。
  2. 可以在搜索框中按照包型名称、分类或包名筛选。
  3. 在目标包型右侧点击“进入出包页”。无效包型会显示具体的配置错误,需要修改 manifest.yml 并刷新后再选择。

执行出包预检

  1. 进入“固件出包”页面后,等待 openUBMC Studio 读取 Manifest、组件清单和构建环境。
  2. 在“构建选择”区域选择构建类型。若 manifest.yml 已配置 build_type,构建类型不可修改。
  3. 查看出包信息、构建命令预览和计划组件。组件来源默认折叠,可按需展开查看。
  4. 如果“组件来源”中存在支持获取的缺失 SDK 制品,点击“从 Conan 获取”,完成后页面会自动重新加载出包信息。
  5. 点击“一键预检”重新检查当前配置和环境。如果页面显示“预检阻断”,请根据提示保存 Manifest、信任工作空间、修复配置或补齐构建工具后再次预检。

执行出包任务

  1. 预检通过后,点击页面顶部的“开始出包”。openUBMC Studio 会根据包型自动生成参数,并通过 Task 终端启动构建。
  2. 任务启动后,页面会自动定位到“构建阶段”,依次展示“计划就绪”、“有效 manifest”、“依赖图就绪”和“产物就绪”状态。
  3. 构建期间可以在 Task 终端查看实时输出,也可以在页面查看本次实际组件以及计划和实际配置之间的差异。
  4. 如需停止构建,点击“终止任务”。关闭出包页面不会自动终止正在执行的任务,重新打开同一包型的出包入口可以继续查看当前会话。

查看日志和下载产物

  1. 构建成功、失败或取消后,页面会自动定位到“构建日志”,并显示 temp/log/task.log 末尾最多 128KiB 的内容。
  2. 构建失败时,可以点击“只看异常上下文”或“跳到最近异常”辅助定位问题;点击“打开完整 task.log”可以查看完整日志。
  3. 构建成功后,在“本次新产物”区域根据包型查看本次构建生成的 HPM、发布 ZIP 等文件,点击“下载”并选择保存位置。Remote 工作空间中的产物也可以下载到本机。
  4. 在“最近记录”区域查看当前工作区近期出包任务的状态、执行时间和产物数量。

说明:

日志中的异常高亮仅用于提供排查线索,不代表 openUBMC Studio 已经确定失败根因,请结合完整日志确认。
“本次新产物”仅展示当前构建会话中新生成且校验通过的文件,不会将历史 output 目录中的文件作为本次结果。


附录:2025版本BMC Studio用户指南

BMC Studio是一款可视化的配置工具,用于辅助BMC进行灵活定制。支持配置CSR、资源协作接口、MDS、接口映射,同时也支持在线调试、板卡定制、原生开发、接口定制以及一键出包等功能。

简介

BMC Studio分为“开发任务”和“操作模块”两个板块,您可以在首页单击“切换视图”进行切换。

  • 操作模块

    • CSR配置:CSR描述了板卡上的具体组成结构,包括链路拓扑和器件描述信息,记录板卡的静态硬件信息。
    • 资源协作接口配置:支持从系统视角对BMC软件管理功能的抽象定义,包含接口和路径的定义,先定义接口,再使用路径实现这个接口。
    • MDS配置:APP的模型描述文件,定义APP如何管理资源协作接口和具体存在的私有属性。
    • 接口映射配置:支持定义接口请求与资源协作接口的对应关系、接口及属性的校验信息、属性执行映射的前置与后置处理等。
  • 开发任务

    • 板卡定制:支持对新增的板卡器件进行定义以及对已有板卡的器件适配。
    • 原生开发:支持开发新的APP功能。
    • 接口定制:支持定制北向接口和对Redfish、WebREST、CLI、SNMP接口映射配置的新增、修改和删除。
    • 编译构建:上传工具生成的CSR文件,对接编译服务器,实现一键编译出包。

安装BMC Studio

接入设备管理和在线调试

此功能主要用于管理Qemu设备和和BMC设备,并提供了在线调试接口和查询数据库的功能。

在BMC Studio首页,单击右上角“设备管理”按钮,进入“接入设备管理”界面。

说明:

管理Qemu设备以及在线调试的操作,请参见BMC Studio Qemu设备管理使用指南
连接SSH的操作方法,请参见BMC Studio SSH连接功能操作指南

配置工作空间

首次使用BMC Studio,必须配置默认空间,如果未配置则无法进入系统。

默认空间配置

说明:

默认工作空间配置完成后,暂不支持删除。

  1. 首次登录BMC Studio,界面提示配置默认空间。

  2. 根据实际需求配置默认空间。

    • 空间名称:填写工作空间的名称,要求如下:
      • 支持数字、字母、下划线和点号(.),且必须包含数字或字母。
      • 工作空间名称设定后不支持修改。
      • 工作空间的名称不能重复,建议用产品名称命名。
    • 数据导入方式:请根据实际情况,选择数据导入的方式。
      • 如果选择“导入Manifest”:则通过Manifest来初始化空间数据。
      • 如果选择“指定文件路径”:则导入本地开发环境的数据作为空间数据进行管理。
      • 如果选择“自定义”:则需要手动上传一个文件夹或 zip 压缩包作为初始化的工作空间数据。
    • Git地址:请输入Manifest的git仓库地址。
    • 远端分支名称:请选择待开发产品对应的Manifest分支。
    • 指定文件路径:“数据导入方式”选择“指定文件路径”时必填。请输入本地开发环境的数据所在的路径。例如:/usr/share/bmc_studio/server/users/xxxxx/oem_files
    • 一键迁移:数据导入方式”选择“指定文件路径”时支持此勾选项。如果勾选,则表示将指定路径下的工作数据无损迁移到BMC Studio工作空间进行管理。
  3. 填写完毕后,单击“确认”,完成配置。

新建工作空间

新建的工作空间可用于管理不同系列化产品,空间之间的数据相互独立。最多支持创建10个(包含默认工作空间)。

  1. 在BMC Studio首页,单击右上角工作空间按钮。

  2. 选择“新建工作空间”。

  3. 根据实际需求配置空间信息,详细参数可参考“配置默认空间”中的参数说明。

  4. 填写完毕后,单击“确认”。

  5. 根据弹框提示,选择跳转到新的工作空间。

  6. 单击右上角“仓库管理”按钮进入仓库。

  7. 选择产品名称,为新的工作空间指定产品。

  8. 单击“一键仓库部署”拉取对应产品代码仓库的模型文件到创建的工作空间内。

  9. 单击“获取全量代码”拉取对应产品代码仓库的全量代码到创建的工作空间内。

    说明
    新建的工作空间如果未执行“一键仓库部署”,模型文件将显示不存在。
    执行一键仓库部署需要有仓库权限。

自定义工作空间

目前BMC Studio提供自定义工作空间的能力

导入代码仓

  1. 在工作空间页面,点击“导入仓库”

  2. 输入想要导入的代码仓的git url

  3. 选择您想要给拉取下来的代码仓起的名字(可选,不输入则默认为git仓库名)

  4. 点击下拉框选择您想要导入的对应代码仓的分支

    说明:
    代码仓不可与现有代码仓同名。

删除代码仓

在工作空间页面,找到您要删除的代码仓,点击右侧删除即可。

编辑代码仓

只有git仓才能编辑。 在工作空间页面,找到您要编辑的代码仓,点击右侧编辑即可。 目前支持编辑的选项只有远端分支。您可以从tag或其他分支切换到您想要的分支,但是您不能切换到一个tag上。

导入mds

该功能可以批量更新工作空间内的mds。如果您有一个mds压缩包,您可以点击导入mds将压缩包导入到BMC Studio。BMC Studio会自动用压缩包内的mds替换工作空间内代码仓的mds文件。 该操作不会影响代码仓内其他文件。

切换工作空间

支持工作空间相互切换。

说明:

切换工作空间不会删除工作空间内的数据。
工具拉取代码和执行模型检查时,不支持切换工作空间。
切换工作空间成功后,工具的所有操作都是基于新工作空间的数据。
切换工作空间不会删除切换前和切换后工作空间的数据。

  1. 在BMC Studio首页,单击右上角工作空间名称。

  2. 选择需要切换的工作空间。

  3. 单击“切换到此空间”。提示“操作成功”表示空间切换成功。

删除工作空间

最多支持创建10个工作空间,如果达到创建上限,则需要删除已有的工作空间,才可继续创建。

说明:

默认工作空间不支持删除。
工具拉取代码和执行模型检查时,不支持删除工作空间。
删除工作空间会解除工具与工作目录的关系。
如果删除正在使用的工作空间,删除成功后将自动切换到默认工作空间。

  1. 在BMC Studio首页,单击右上角工作空间名称。

  2. 选择需要删除的工作空间。

  3. 单击“删除此空间”,弹出删除确认的提示框,请确认后操作。

    • 确认删除操作,请单击“确认”。如果勾选“同步删除工作空间数据”,删除成功后数据无法恢复,请谨慎操作。
    • 取消删除操作,请单击“取消”。
  4. 确认后,完成删除工作空间操作。

操作模块

配置CSR模块

CSR描述了硬件板卡的物理组成结构,包括链路拓扑和器件描述信息。将一个可独立更换的Fru抽象为板卡(组件和部件),为每一个板卡都定义一个CSR描述文件,在运行过程中由BMC系统自动发现和解析。

说明:

支持查看文件代码和比对代码修改前后数据,具体操作方法请参考代码预览查看修改章节。

修改模型

  1. 在BMC Studio选择操作模块的首页,选择CSR。
  2. 进入CSR模型界面,工具会自动识别产品空间中的CSR仓库。
  3. 在CSR列表中,选择需要操作的模型。
  4. 搭建模型。
  5. 修改完毕后,单击“保存”。

新增组件仓

  1. 在BMC Studio选择操作模块的首页,选择CSR。
  2. 点击图中所示的加号按钮。
  3. 选择需要上传的文件夹,然后点击右下角的“打开”。

新增文件夹

  1. 在BMC Studio选择操作模块的首页,选择CSR。

  2. 在CSR列表中,选择需要新增文件夹的目标文件夹。

  3. 单击目标文件夹后的“操作”。例如:需要在vpd文件夹下新增文件夹,请单击vpd后的“操作”按钮。

  4. 选择“新增文件夹”。

  5. 输入文件夹名称,完成新建操作。

    说明
    名称仅支持数字、字母和下划线。

新增组件

目前提供三种方式新增组件

手动新增

  1. 在BMC Studio选择操作模块的首页,选择CSR。

  2. 在CSR列表中,选择需要新增组件的目标文件夹。

  3. 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增组件,请单击src后的“操作”按钮。

  4. 选择“新增组件”。

  5. 填写组件名称、格式版本和数据版本。数据版本和格式版本要求为A.BC的格式校验,A、B、C均为0-255的数字(不能有前导零)。

  6. 填写完毕后,单击“保存”。

上传组件

  1. 在BMC Studio选择操作模块的首页,选择CSR。
  2. 在CSR列表中,选择需要新增组件的目标文件夹。
  3. 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增组件,请单击src后的“导入本地sr文件”按钮。
  4. 选择需要上传的sr文件,并点击“打开”

复制CSR

  1. 在BMC Studio选择操作模块的首页,选择CSR。
  2. 在CSR列表中,选择需要复制的目标文件夹。
  3. 单击目标文件后的“操作”,然后点击复制按钮。
  4. 选择您要将 CSR 复制过去的文件夹,点击文件名后的“操作”,然后点击粘贴按钮。

删除组件

支持撤销删除操作,具体操作方法方法请参考“常用操作”章节中的撤销删除文件和撤销修改

  1. 在CSR列表中,选择需要删除的文件、模型或组件,单击“操作”。

  2. 选择“删除”。

  3. 工具弹出确认删除的提示框,请根据情况选择。

    • 确认删除,请单击“确认”。
    • 取消删除,请单击“取消”。

CSR页面检查

以下视频介绍了 BMC Studio 的 CSR 页面模型检查操作指导,通过该视频您可以详细了解 CSR 模型检查的具体步骤,模型检查可以检查出模型之间不一致的错误,并给出告警提示。

同步代码

通过Git命令,将CSR配置提交到代码仓。

  1. 选择要同步代码的主文件夹,单击“操作”。

  2. 选择“同步代码”。

  3. 如果提示“代码同步成功”,表示同步代码操作成功。

    说明
    如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
    您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。

适配板卡

适配板卡具体操作流程,请参见BMC Studio板卡适配指南

CSR出包

支持单个和批量打包CSR。

说明
批量生成时仅支持下载为HPM包格式。
选择的CSR文件中,必须包含UID,且批量出包中的UID不能重复。

单个CSR打包

  1. 模型配置完成后,单击页面右上角“CSR出包”。

  2. 参考以下内容,填写出包信息。

    • FormatVersion:填写Format的版本。
    • DataVersion:填写Data的版本。
    • EEPROM大小限制:选择16k或32k。
    • OEM定制信息:选填项,请根据情况选择是否上传OEM定制信息。上传要求格式为.bin,大小不超过4KB。
    • 下载选项:勾选下载生成的格式,可同时勾选多个。支持HPM、二进制bin、json文件。
  3. 单击“CSR出包”。生成的CSR将自动下载到本地。如果通过ssh连接了 BMC 真机,则还可以选择“出包并升级到BMC”将出的包直接生效到真机环境。

批量CSR打包

批量生成时仅支持下载为HPM包格式。

  1. 在CSR列表右上方单击“批量CSR出包”。

  2. 勾选需要出包的文件,单击CSR出包。

  3. 参考以下内容,填写出包信息。

    • OEM共享文件:上传的OEM文件可用于全部CSR出包使用。
    • EEPROM大小限制:选择16k或32k。
    • OEM文件:为对应的CSR上传OEM文件,上传要求格式为.bin,大小不超过4KB。
    • 使用共享文件:如果勾选,表示携带“OEM共享文件”中上传的文件。如果不勾选,表示不携带“OEM共享文件”中上传的文件直接携带本文件选择的对应“OEM文件”。
    • 删除:删除对应的CSR文件。
  4. 单击“批量CSR出包”。

说明:

“出包并升级到BMC”功能需要您有真实服务器,并且通过BMC Studio连接到这台机器才能使用,可以将出完的包直接生效到环境中。 详情请见

生效到 QEMU

在连接到 Qemu 后,可以将文件直接生成到 Qemu 环境。 在点击了按钮后,可以选择生效方式。 BMC Studio 会把该文件以对应的方式生效到 Qemu。

配置资源协作接口

资源协作接口即为从系统视角对BMC软件管理功能的抽象定义。资源协作接口包含对象和接口的定义,接口以bmc.kepler开头。

说明:

支持查看文件代码和比对代码修改前后数据,具体操作方法请参考代码预览查看修改章节。

修改资源协作接口/路径信息

说明:

配置资源协作接口的基本信息时,属性、方法和信号要求至少配置一个。

  1. 选择需要操作的资源协作接口/路径。
  2. 修改资源协作接口的配置。
  3. 修改资源协作接口路径的配置。
  4. 修改完毕后,单击“保存”,完成修改。

新增文件夹

  1. 选择需要新增文件夹类型,路径或接口。

  2. 在资源协作接口列表中,选择需要新增文件夹的目标文件。

  3. 单击目标文件夹后的“操作”。以新增路径文件举例,例如:需要在Accessor文件夹下新增文件夹,请单击Accessor后的“操作”按钮。

  4. 选择“新增文件夹”。

  5. 输入文件夹名称,完成新建操作。

说明
名称仅支持数字、字母和下划线,且要求不能以数字开头。

新增资源协作接口/路径

  1. 在资源协作接口列表中选择新增的类型:接口/路径。

  2. 在资源协作接口的列表中,选择需要新增接口或路径的目标文件。

  3. 单击目标文件夹后的“操作”。例如:需要在kepler文件夹下新增资源协作接口,请单击kepler后的“操作”按钮。

  4. 选择“新增资源协作接口”。

  5. 参考“修改资源协作接口/路径信息”中的参数列表。配置资源协作接口/路径。

  6. 配置完成后,单击“保存”。

检查

  1. 在资源协作接口/路径列表中,选择需要检查的文件,单击“操作”。

  2. 选择“检查”,工具开始检查所选文件的模型一致性。

  3. 检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。

删除资源协作接口/路径

支持撤销删除操作,具体操作方法请参考撤销删除文件和撤销修改

  1. 在资源协作接口/路径列表中,选择需要删除的文件,单击“操作”。

  2. 选择“删除”。

  3. 工具弹出确认删除的提示框,请根据情况选择。

    • 确认删除,请单击“确认”。
    • 取消删除,请单击“取消”。

配置MDS

MDS是APP的模型描述文件,定义了该APP管理的资源协作接口和私有属性。

说明:

支持查看文件代码和比对代码修改前后数据,具体操作方法请参考代码预览查看修改章节。

修改MDS信息

说明:

信息填写完毕后,未保存当前页面信息,切换页面时会清空当前页面编辑的全部内容,请谨慎操作。

  1. 选择需要操作的文件。
  2. 修改配置信息。
  3. 修改完毕后,单击“保存”,完成修改。

检查

  1. 在MDS列表中,选择需要检查的文件,单击“操作”。

  2. 选择“检查”,工具开始检查所选文件的模型一致性。

  3. 检查完成后,单击“检查结果”可查看详情,界面展示“错误提示”、“错误影响”和“修复建议”。

同步代码

通过Git命令,将MDS配置提交到代码仓。

  1. 选择要同步代码的主文件夹,单击“操作”。

  2. 选择“同步代码”。

  3. 如果提示“代码同步成功”,表示同步代码操作成功。

    说明
    如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
    您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。

删除MDS文件

  1. 在MDS列表中,选择需要删除的文件,单击“操作”。

  2. 选择“删除”。

  3. 工具弹出确认删除的提示框,请根据情况选择。

配置接口映射

使用Redfish/WebREST/SNMP/CLI的设计,引入数据映射器机制,框架解析数据映射配置,将接口请求转发到资源协作接口,拼装返回对应格式的数据。

映射配置定义了如下内容:

  • 接口请求与资源协作接口的对应关系。
  • 接口及属性的校验信息。
  • 属性执行映射的前置与后置处理等。

新增文件夹

  1. 选择需要新增的接口类型:Redfish、WebREST、CLI或SNMP。

  2. 在文件列表中,选择需要新增文件的目标文件夹。

  3. 单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增文件夹,请单击Accounts后的“操作”按钮。

  4. 输入文件夹名称,完成新建操作。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。

新增接口映射

  1. 选择需要新增的接口类型:Redfish、WebREST、CLI或SNMP。

  2. 在文件列表中,选择需要新增接口映射的目标文件夹。

  3. 单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增接口映射,请单击Accounts后的“操作”按钮。

  4. 选择“新增接口映射”。

  5. 输入接口名称。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。

  6. 单击“新增资源”,输入URI资源。

  7. 单击“确认”接口新增成功。

  8. 配置接口信息。

检查

  1. 在接口文件或文件夹中,选择需要检查的文件,单击“操作”。

  2. 选择“检查”,工具开始检查所选文件的模型一致性。

  3. 检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。

删除接口文件

支持撤销删除操作,具体操作方法请参考“常用操作”章节中的“撤销删除文件和撤销修改”。

  1. 在接口文件列表中,选择需要删除的文件,单击“操作”。

  2. 选择“删除”。

  3. 工具弹出确认删除的提示框,请根据情况选择。

开发任务

板卡定制

板卡定制,分为以下两种情况。

  • 板卡新增:定制新的板卡时,对新的器件进行定义,对新增板卡定制前,请先执行以下操作。
    1. 在原生开发定义资源协作接口和路径,操作方法请参考:操作模块 >资源协作接口配置。
    2. MDS里进行管理定义的资源协作接口。
    3. 打开对应的CSR开关。
  • 板卡适配:基于已有器件库,对硬件组件进行定制,包含对组件上器件类型、数量的编排等操作。

定义新器件操作流程(板卡新增)

  1. 在BMC Studio首页,单击“板卡定制”,进入定制板卡操作界面。

  2. 请按照如下流程新增器件,操作方法参见配置CSR模型章节。

    1. (可选)新增CSR模型文件夹。
    2. 新增CSR组件。
    3. 配置模型数据。
    4. 保存配置。
  3. 单击“保存”完成配置。

定制硬件组件(板卡适配)

板卡适配详细操作可参见BMC Studio板卡适配指南

原生开发

使用原生开发功能开发新的APP。

  1. 在BMC Studio首页,单击“原生开发”,进入原生开发操作界面。

  2. 为板卡定义资源协作接口信息。请按照如下流程配置,具体操作方法参见配置资源协作接口章节。

    1. (可选)新增资源协作接口文件夹。
    2. 新增资源协作接口。
    3. 新增资源协作接口路径。
    4. 保存配置。
  3. 在原生开发的导航条上,单击“MDS”。

  4. 为板卡配置MDS信息。具体操作方法参见配置MDS

  5. 配置完成后,单击“保存”。

接口定制

可使用BMC Studio定制北向接口,包含对Redfish、WebREST、CLI、SNMP接口映射配置的新增、修改和删除,具体操作方法,请参考配置接口映射

编译构建

BMC Studio的工作空间包含多个代码仓,这些代码仓可能被本地管理或被设置为Git工作空间。用户可通过页面配置Git仓地址,将代码同步到工作空间。工具也会自动扫描工作空间,识别出Git仓,并在仓库管理页面展示。

说明:

选择Manifest产品后,才可进行仓库初始化操作。仓库完成初始化操作后,才可获取代码。

  1. 参考以下内容选择出包信息。

    • 一键出包:基于该产品空间的本地代码一键出包。仅root用户支持一键出包。
    • Git仓库地址:工作空间中的Git代码仓。
    • 本地分支名称:默认取值为导入Manifest时选择的远端分支,可手动切换分支。
    • 同步远端最新配置:本地分支选择后,单击此按钮进行切换。说明:切换本地分支时将同步最新的远端代码。切换分支时,要求本地代码和Manifest的库上最新代码不能存在冲突,如果存在冲突,请手动解决冲突后再切换分支。
    • 产品名称:选择分支对应的产品名称,切换产品后需重新进行仓库部署。如果该产品已执行过一键仓库部署,则无须再重新进行仓库部署。
    • 一键仓库部署:根据Manifest中产品的配置信息,动态获取仓库配置并完成全量仓库代码的获取。
      • 如果有代码变动,会弹框提示是否覆盖代码,
      • 如果代码未变动,不会提示覆盖代码,但会做代码检查。
    • 获取全量代码:一键拉取全量仓库代码到对应的分支。 支持编辑个人远端地址和个人远端分支。
  2. 单击“一键出包”,选择对应产品。

  3. 在组件列表勾选需要出包的组件。

  4. 单击“下一步:出包”,出包会显示进度条,出包成功之前请勿执行其他操作。

说明
一键仓库部署和获取全量代码只能拉取有权限的仓库,只要有一个组件仓库拉取成功,则表示操作成功,未能成功拉取的仓库可查看“仓库日志”确认原因。
如果出包失败,仓库管理右侧的“构建日志”列会展示出包失败的日志,可下载全量日志到本地进行分析。
如果出包成功,仓库管理右侧的“固件信息”列会展示出包信息,单击“下载”将固件包下载到本地。
固件包仅保留三天,失效后将无法下载。
“一键仓库部署”和“获取全量代码”的日志将展示在仓库日志中。

代码预览

使用代码预览功能,可在工具界面预览各文件的代码,同时支持在预览界面直接修改并保存代码。

  1. 选择需要查看代码的文件。
  2. 单击页面右侧的“代码预览”按钮。
  3. 界面右侧展示对应文件的代码。

说明:

如需搜索代码内的关键字,请将鼠标选中代码框内的任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。 DDS文件不支持编辑保存。

模型检查

BMC Studio支持模型的可视化配置,模型与模型之间存在配套关系,通过此功能可以检查出模型之间不一致的错误,并给出告警提示。

说明:

工具根据默认的检查规则,检查指定的模型。
如果错误级别未定义或取值不符合规范要求,无法勾选“CSR扩展规则检查样例”。

  1. 在工具首页单击右上角“模型检查”按钮。

  2. 进入“模型检查”界面。

  3. 选择想要检查的规则。

  4. 单击右上角“开始检查”按钮。

  5. 工具将根据已有的检查规则,检查各模型一致性。

  6. 检查结束后,可在“检查结果”页签查看检查详情。参数说明请参考如下:

    • 规则ID:检查规则的ID。
    • 所属模型:可筛选需要展示的报错模块。
    • 错误提示:具体错误原因。
    • 错误影响:错误的影响。
    • 修复建议:具体的修复建议。
    • 告警等级:可筛选展示的高级等级。“严重”,“一般”,“提示”。
    • 产生时间:最后一次检查结果的时间。
  7. 单击右上角“导出”可将检查结果导出至本地。

常用操作

查看修改

使用“查看修改”功能,可将修改前和修改后的数据进行比对,同时支持在预览界面直接修改并保存代码。

说明:

仅支持比对最近一次保存前后的数据。

  1. 选择操作模块。

  2. 单击左上角“查看修改”的按钮。

  3. 选择目标文件,比对修改前后的数据。

    • 如需搜索代码内的关键字,请将鼠标选中需要搜索的代码框内任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。
    • 勾选“统一缩进查看”,可统一缩进格式,便于查看。
    • 如需编辑数据,请单击右上角“编辑”按钮,编辑完成后,单击“保存”。

撤销删除文件和撤销修改

CSR配置、资源协作接口、接口映射均支持撤销删除文件和撤销修改,MDS仅支持撤销修改。

注意
撤销不会有弹框再次确认,单击”撤销“后,工具将直接执行撤销操作。
撤销修改后,代码将变为初始拉取的状态。

撤销修改和撤销删除的方法一致,以下以CSR中的文件已被删除,需要撤销删除的操作。

  1. 进入CSR操作模块。

  2. 在CSR列表上方单击蓝色字体“查看修改"。

  3. 选择需要撤销删除的文件,单击后方的“撤销”按钮。如果需要批量撤销,可勾选需要操作的文件,单击最上方的“撤销”按钮进行操作。

侧边栏

BMC Studio 目前有侧边栏,可以实现 openubmc.cn 常用链接的跳转。 五个图标从上到下分别是:

卸载BMC Studio

在 linux 命令行中执行以下命令可卸载BMC Studio。

bash
dpkg -P bmc-studio