说明:
openUBMC Studio 8 月 1 日版本新增以下功能:
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键
wbd_build出白牌/清白牌包。 - Manifest 配置与一键出包:可视化编辑
manifest.yml出包配置,按机型/包型一键构建固件包。 - 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。
简介
openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:
- 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
- 实时错误检查:基于规则集自动检测代码错误和潜在问题
- 表达式计算器:支持CSR表达式的编写、调试和批量测试
- SMC命令字配置:提供可视化的SMC命令字解析和配置工具
- 模型配置:支持产品和规则集的快速选择与配置
- 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
- 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
- Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
- 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
- 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
- 社区集成:无缝对接openUBMC社区资源和服务
登录到社区功能
openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。
登录步骤
点击IDE右下角状态栏中的登录图标
在弹出的登录页面中输入您的openUBMC社区账号和密码
点击“登录”按钮完成登录
登录状态保持
登录成功后,IDE会自动保持和刷新登录状态:
- 自动刷新:IDE会定期刷新登录状态,确保持续有效
- 状态保持:退出IDE后,登录状态会继续保持一段时间
- 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录
Conan中心仓集成
登录社区后,IDE会自动同步登录到Conan中心仓:
- 登录状态自动保持并刷新
- 只要IDE处于登录状态,Conan就处于登录状态
- 在执行出包等操作时不会因为认证问题而超时
说明:
建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。
CSR编码辅助功能
openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。
模型配置
使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:
在模型配置页面中,选择对应的产品和规则集。
确认产品信息后,选择需要配置的模型文件。
配置模型文件对应的代码仓和分支信息。
完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。
说明:
模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。
引用跳转功能
引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。
转到定义
在代码编辑器中,将光标定位到需要查看定义的符号上。
使用以下任一方式跳转到定义:
- 右键点击符号,选择“转到定义”
- 按住
Ctrl键,点击符号
编辑器将自动跳转到符号的定义位置。
转到引用
在代码编辑器中,将光标定位到需要查看引用的符号上。
使用以下任一方式查看引用:
- 按下
Shift + F12键 - 右键点击符号,选择“转到引用”
- 按下
在侧边栏将显示所有引用该符号的位置列表。
点击列表中的项可跳转到对应的引用位置。
鼠标悬停预览定义
在代码编辑器中,将鼠标悬停在符号上。
等待片刻,将显示符号的定义预览窗口。
基本规则错误检查功能
openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。
实时检查
模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:
页面中的类型错误和格式错误都会被实时拦截:
表达式中的语法错误也可以被实时拦截:
查看检查结果
错误和警告会以波浪线形式标注在代码中:
- 红色波浪线:表示错误(Error)
- 黄色波浪线:表示警告(Warning)
查看"问题"面板:
- 点击底部"问题"标签页
- 查看所有错误和警告列表
- 点击列表项可快速定位到对应代码位置
复杂规则校验
openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。
表达式计算器功能
表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。
打开表达式计算器
打开CSR文件,在表达式上方将显示“计算表达式”按钮
点击“计算表达式”按钮,表达式计算器窗口将在右侧打开
表达式计算器界面
表达式计算器界面包含以下部分:
- 表达式编辑区:显示和编辑当前选中的表达式
- 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
- 变量面板:显示当前表达式中可用的变量及其值
- 结果面板:显示表达式计算结果和各级管道的计算过程
修改表达式
在表达式编辑区查看或修改表达式
修改完成后,点击“保存到文件”按钮保存修改
保存后,表达式计算器会自动重新加载表达式
源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载
调试表达式
在表达式编辑区查看表达式内容
在变量面板中输入或修改变量值
完成输入后,系统将自动计算:
- 各级管道的中间结果
- 最终表达式结果
说明:
调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。
表达式批量用例测试
在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式
创建测试用例:
- 按照要求输入测试用例名称和参数值以及结果值
执行批量测试:
- 点击“加载用例”加载所有测试用例
- 点击“Execute all”执行所有测试用例
- 查看验证报告,显示每个用例的执行结果
说明:
测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。
SMC计算器功能
SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。
打开SMC计算器
打开CSR文件,定位到Scanner或Accessor的offset字段
点击offset字段上方显示的"计算偏移量"按钮
SMC计算器窗口将在右侧打开
SMC命令字解析
SMC计算器提供了强大的命令字解析功能:
- 自动解析:当前偏移量会被自动解析,显示各字段的含义
- 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
- 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
- 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明
SMC命令字可视化辅助
openUBMC Studio提供了直观的SMC命令字可视化功能:
水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看
悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:
- 各字段的值
- 字段的含义
- 完整的偏移量计算结果
说明:
可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。
拓扑与CSR可视化配置
拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。
创建拓扑配置
点击openUBMC Studio左侧的拓扑十字形侧边栏图标。
点击"创建配置"。
点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。
创建完成后,拓扑起点为
root.sr。
配置拓扑关系
可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。
双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。
拖拽器件
打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。
说明:
后续将继续提供整机视角的多CSR配置功能。
能效调速配置
能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。
打开配置页面
点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。
配置能效调速对象
通过该页面配置能效调速对象,以及配置对象间的关联关系。
点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。
点击右上角"生成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 | 显示/隐藏侧边栏 |
说明:
可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。
设置与配置
修改用户设置
- 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键
Ctrl + , - 在设置页面中,可以修改各类配置:
- 编辑器设置(字体、主题、缩进等)
- CSR规则检查设置
- 快捷键配置
- 扩展设置
卸载openUBMC Studio
如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。
Windows系统卸载
- 打开“控制面板”>“程序”>“程序和功能”
- 在程序列表中找到“openUBMC Studio”
- 右键点击,选择“卸载”
- 按照卸载向导提示完成卸载
卸载后清理
说明:
卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:
- 用户数据目录:
%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 下用于安全存储密码。
安装插件
- 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按
Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。 - 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。
说明:
若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南。
BMC 环境管理
新增分组
连接以「分组」为单位组织,系统默认创建一个分组。
- 在 BMC Environments 视图标题栏单击「Add Group」按钮。
- 输入分组名称并确认。
分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。
新增连接
- 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
- 在弹出的表单中填写连接信息并保存。
连接字段说明:
| 字段 | 说明 | 备注 |
|---|---|---|
名称 name | 连接显示名称 | 必填 |
IP 地址 host | BMC 的 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 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。
新建宏
- 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
- 在表单中填写宏内容并保存。
宏字段说明:
| 字段 | 说明 | 默认值 / 范围 |
|---|---|---|
名称 name | 宏名称 | 必填 |
描述 description | 宏描述 | 可选 |
命令 commands | 有序命令列表 | 至少 1 条;每条可单独设置 description、timeoutMs、abortOnFailure(遇错:默认 / 中断 / 继续) |
变量 variables | 自定义变量(键名不含 `--- |
说明:
openUBMC Studio 8 月 1 日版本新增以下功能:
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键
wbd_build出白牌/清白牌包。 - Manifest 配置与一键出包:可视化编辑
manifest.yml出包配置,按机型/包型一键构建固件包。 - 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。
简介
openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:
- 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
- 实时错误检查:基于规则集自动检测代码错误和潜在问题
- 表达式计算器:支持CSR表达式的编写、调试和批量测试
- SMC命令字配置:提供可视化的SMC命令字解析和配置工具
- 模型配置:支持产品和规则集的快速选择与配置
- 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
- 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
- Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
- 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
- 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
- 社区集成:无缝对接openUBMC社区资源和服务
登录到社区功能
openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。
登录步骤
点击IDE右下角状态栏中的登录图标
在弹出的登录页面中输入您的openUBMC社区账号和密码
点击“登录”按钮完成登录
登录状态保持
登录成功后,IDE会自动保持和刷新登录状态:
- 自动刷新:IDE会定期刷新登录状态,确保持续有效
- 状态保持:退出IDE后,登录状态会继续保持一段时间
- 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录
Conan中心仓集成
登录社区后,IDE会自动同步登录到Conan中心仓:
- 登录状态自动保持并刷新
- 只要IDE处于登录状态,Conan就处于登录状态
- 在执行出包等操作时不会因为认证问题而超时
说明:
建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。
CSR编码辅助功能
openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。
模型配置
使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:
在模型配置页面中,选择对应的产品和规则集。
确认产品信息后,选择需要配置的模型文件。
配置模型文件对应的代码仓和分支信息。
完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。
说明:
模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。
引用跳转功能
引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。
转到定义
在代码编辑器中,将光标定位到需要查看定义的符号上。
使用以下任一方式跳转到定义:
- 右键点击符号,选择“转到定义”
- 按住
Ctrl键,点击符号
编辑器将自动跳转到符号的定义位置。
转到引用
在代码编辑器中,将光标定位到需要查看引用的符号上。
使用以下任一方式查看引用:
- 按下
Shift + F12键 - 右键点击符号,选择“转到引用”
- 按下
在侧边栏将显示所有引用该符号的位置列表。
点击列表中的项可跳转到对应的引用位置。
鼠标悬停预览定义
在代码编辑器中,将鼠标悬停在符号上。
等待片刻,将显示符号的定义预览窗口。
基本规则错误检查功能
openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。
实时检查
模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:
页面中的类型错误和格式错误都会被实时拦截:
表达式中的语法错误也可以被实时拦截:
查看检查结果
错误和警告会以波浪线形式标注在代码中:
- 红色波浪线:表示错误(Error)
- 黄色波浪线:表示警告(Warning)
查看"问题"面板:
- 点击底部"问题"标签页
- 查看所有错误和警告列表
- 点击列表项可快速定位到对应代码位置
复杂规则校验
openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。
表达式计算器功能
表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。
打开表达式计算器
打开CSR文件,在表达式上方将显示“计算表达式”按钮
点击“计算表达式”按钮,表达式计算器窗口将在右侧打开
表达式计算器界面
表达式计算器界面包含以下部分:
- 表达式编辑区:显示和编辑当前选中的表达式
- 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
- 变量面板:显示当前表达式中可用的变量及其值
- 结果面板:显示表达式计算结果和各级管道的计算过程
修改表达式
在表达式编辑区查看或修改表达式
修改完成后,点击“保存到文件”按钮保存修改
保存后,表达式计算器会自动重新加载表达式
源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载
调试表达式
在表达式编辑区查看表达式内容
在变量面板中输入或修改变量值
完成输入后,系统将自动计算:
- 各级管道的中间结果
- 最终表达式结果
说明:
调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。
表达式批量用例测试
在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式
创建测试用例:
- 按照要求输入测试用例名称和参数值以及结果值
执行批量测试:
- 点击“加载用例”加载所有测试用例
- 点击“Execute all”执行所有测试用例
- 查看验证报告,显示每个用例的执行结果
说明:
测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。
SMC计算器功能
SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。
打开SMC计算器
打开CSR文件,定位到Scanner或Accessor的offset字段
点击offset字段上方显示的"计算偏移量"按钮
SMC计算器窗口将在右侧打开
SMC命令字解析
SMC计算器提供了强大的命令字解析功能:
- 自动解析:当前偏移量会被自动解析,显示各字段的含义
- 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
- 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
- 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明
SMC命令字可视化辅助
openUBMC Studio提供了直观的SMC命令字可视化功能:
水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看
悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:
- 各字段的值
- 字段的含义
- 完整的偏移量计算结果
说明:
可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。
拓扑与CSR可视化配置
拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。
创建拓扑配置
点击openUBMC Studio左侧的拓扑十字形侧边栏图标。
点击"创建配置"。
点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。
创建完成后,拓扑起点为
root.sr。
配置拓扑关系
可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。
双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。
拖拽器件
打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。
说明:
后续将继续提供整机视角的多CSR配置功能。
能效调速配置
能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。
打开配置页面
点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。
配置能效调速对象
通过该页面配置能效调速对象,以及配置对象间的关联关系。
点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。
点击右上角"生成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 | 显示/隐藏侧边栏 |
说明:
可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。
设置与配置
修改用户设置
- 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键
Ctrl + , - 在设置页面中,可以修改各类配置:
- 编辑器设置(字体、主题、缩进等)
- CSR规则检查设置
- 快捷键配置
- 扩展设置
卸载openUBMC Studio
如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。
Windows系统卸载
- 打开“控制面板”>“程序”>“程序和功能”
- 在程序列表中找到“openUBMC Studio”
- 右键点击,选择“卸载”
- 按照卸载向导提示完成卸载
卸载后清理
说明:
卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:
- 用户数据目录:
%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 下用于安全存储密码。
安装插件
- 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按
Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。 - 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。
说明:
若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南。
BMC 环境管理
新增分组
连接以「分组」为单位组织,系统默认创建一个分组。
- 在 BMC Environments 视图标题栏单击「Add Group」按钮。
- 输入分组名称并确认。
分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。
新增连接
- 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
- 在弹出的表单中填写连接信息并保存。
连接字段说明:
| 字段 | 说明 | 备注 |
|---|---|---|
名称 name | 连接显示名称 | 必填 |
IP 地址 host | BMC 的 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 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。
新建宏
- 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
- 在表单中填写宏内容并保存。
宏字段说明:
| 字段 | 说明 | 默认值 / 范围 |
|---|---|---|
名称 name | 宏名称 | 必填 |
描述 description | 宏描述 | 可选 |
命令 commands | 有序命令列表 | 至少 1 条;每条可单独设置 description、timeoutMs、abortOnFailure(遇错:默认 / 中断 / 继续) |
变量 variables | 自定义变量(键名不含 ) | 与内置变量合并;同名时内置优先 |
失败策略 onError | 宏级策略 | continue(继续)/ abort(中断该环境后续命令);默认 continue |
命令超时 timeoutMs | 单条命令超时(毫秒) | 默认 30000;单条命令可覆盖 |
并发度 concurrency | 环境间并发度 | 1–8,默认 1 |
标签 tags | 标签(表单中逗号分隔) | 可选 |
变量替换
命令模板支持变量占位:
- 语法:
$VAR或${VAR};$转义为字面 `---
说明:
openUBMC Studio 8 月 1 日版本新增以下功能:
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键
wbd_build出白牌/清白牌包。 - Manifest 配置与一键出包:可视化编辑
manifest.yml出包配置,按机型/包型一键构建固件包。 - 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。
简介
openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:
- 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
- 实时错误检查:基于规则集自动检测代码错误和潜在问题
- 表达式计算器:支持CSR表达式的编写、调试和批量测试
- SMC命令字配置:提供可视化的SMC命令字解析和配置工具
- 模型配置:支持产品和规则集的快速选择与配置
- 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
- 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
- Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
- 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
- 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
- 社区集成:无缝对接openUBMC社区资源和服务
登录到社区功能
openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。
登录步骤
点击IDE右下角状态栏中的登录图标
在弹出的登录页面中输入您的openUBMC社区账号和密码
点击“登录”按钮完成登录
登录状态保持
登录成功后,IDE会自动保持和刷新登录状态:
- 自动刷新:IDE会定期刷新登录状态,确保持续有效
- 状态保持:退出IDE后,登录状态会继续保持一段时间
- 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录
Conan中心仓集成
登录社区后,IDE会自动同步登录到Conan中心仓:
- 登录状态自动保持并刷新
- 只要IDE处于登录状态,Conan就处于登录状态
- 在执行出包等操作时不会因为认证问题而超时
说明:
建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。
CSR编码辅助功能
openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。
模型配置
使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:
在模型配置页面中,选择对应的产品和规则集。
确认产品信息后,选择需要配置的模型文件。
配置模型文件对应的代码仓和分支信息。
完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。
说明:
模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。
引用跳转功能
引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。
转到定义
在代码编辑器中,将光标定位到需要查看定义的符号上。
使用以下任一方式跳转到定义:
- 右键点击符号,选择“转到定义”
- 按住
Ctrl键,点击符号
编辑器将自动跳转到符号的定义位置。
转到引用
在代码编辑器中,将光标定位到需要查看引用的符号上。
使用以下任一方式查看引用:
- 按下
Shift + F12键 - 右键点击符号,选择“转到引用”
- 按下
在侧边栏将显示所有引用该符号的位置列表。
点击列表中的项可跳转到对应的引用位置。
鼠标悬停预览定义
在代码编辑器中,将鼠标悬停在符号上。
等待片刻,将显示符号的定义预览窗口。
基本规则错误检查功能
openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。
实时检查
模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:
页面中的类型错误和格式错误都会被实时拦截:
表达式中的语法错误也可以被实时拦截:
查看检查结果
错误和警告会以波浪线形式标注在代码中:
- 红色波浪线:表示错误(Error)
- 黄色波浪线:表示警告(Warning)
查看"问题"面板:
- 点击底部"问题"标签页
- 查看所有错误和警告列表
- 点击列表项可快速定位到对应代码位置
复杂规则校验
openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。
表达式计算器功能
表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。
打开表达式计算器
打开CSR文件,在表达式上方将显示“计算表达式”按钮
点击“计算表达式”按钮,表达式计算器窗口将在右侧打开
表达式计算器界面
表达式计算器界面包含以下部分:
- 表达式编辑区:显示和编辑当前选中的表达式
- 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
- 变量面板:显示当前表达式中可用的变量及其值
- 结果面板:显示表达式计算结果和各级管道的计算过程
修改表达式
在表达式编辑区查看或修改表达式
修改完成后,点击“保存到文件”按钮保存修改
保存后,表达式计算器会自动重新加载表达式
源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载
调试表达式
在表达式编辑区查看表达式内容
在变量面板中输入或修改变量值
完成输入后,系统将自动计算:
- 各级管道的中间结果
- 最终表达式结果
说明:
调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。
表达式批量用例测试
在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式
创建测试用例:
- 按照要求输入测试用例名称和参数值以及结果值
执行批量测试:
- 点击“加载用例”加载所有测试用例
- 点击“Execute all”执行所有测试用例
- 查看验证报告,显示每个用例的执行结果
说明:
测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。
SMC计算器功能
SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。
打开SMC计算器
打开CSR文件,定位到Scanner或Accessor的offset字段
点击offset字段上方显示的"计算偏移量"按钮
SMC计算器窗口将在右侧打开
SMC命令字解析
SMC计算器提供了强大的命令字解析功能:
- 自动解析:当前偏移量会被自动解析,显示各字段的含义
- 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
- 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
- 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明
SMC命令字可视化辅助
openUBMC Studio提供了直观的SMC命令字可视化功能:
水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看
悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:
- 各字段的值
- 字段的含义
- 完整的偏移量计算结果
说明:
可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。
拓扑与CSR可视化配置
拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。
创建拓扑配置
点击openUBMC Studio左侧的拓扑十字形侧边栏图标。
点击"创建配置"。
点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。
创建完成后,拓扑起点为
root.sr。
配置拓扑关系
可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。
双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。
拖拽器件
打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。
说明:
后续将继续提供整机视角的多CSR配置功能。
能效调速配置
能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。
打开配置页面
点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。
配置能效调速对象
通过该页面配置能效调速对象,以及配置对象间的关联关系。
点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。
点击右上角"生成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 | 显示/隐藏侧边栏 |
说明:
可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。
设置与配置
修改用户设置
- 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键
Ctrl + , - 在设置页面中,可以修改各类配置:
- 编辑器设置(字体、主题、缩进等)
- CSR规则检查设置
- 快捷键配置
- 扩展设置
卸载openUBMC Studio
如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。
Windows系统卸载
- 打开“控制面板”>“程序”>“程序和功能”
- 在程序列表中找到“openUBMC Studio”
- 右键点击,选择“卸载”
- 按照卸载向导提示完成卸载
卸载后清理
说明:
卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:
- 用户数据目录:
%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 下用于安全存储密码。
安装插件
- 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按
Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。 - 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。
说明:
若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南。
BMC 环境管理
新增分组
连接以「分组」为单位组织,系统默认创建一个分组。
- 在 BMC Environments 视图标题栏单击「Add Group」按钮。
- 输入分组名称并确认。
分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。
新增连接
- 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
- 在弹出的表单中填写连接信息并保存。
连接字段说明:
| 字段 | 说明 | 备注 |
|---|---|---|
名称 name | 连接显示名称 | 必填 |
IP 地址 host | BMC 的 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 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。
新建宏
- 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
- 在表单中填写宏内容并保存。
宏字段说明:
| 字段 | 说明 | 默认值 / 范围 |
|---|---|---|
名称 name | 宏名称 | 必填 |
描述 description | 宏描述 | 可选 |
命令 commands | 有序命令列表 | 至少 1 条;每条可单独设置 description、timeoutMs、abortOnFailure(遇错:默认 / 中断 / 继续) |
变量 variables | 自定义变量(键名不含 `--- |
说明:
openUBMC Studio 8 月 1 日版本新增以下功能:
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级、日志监控与 MCP 工具。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键
wbd_build出白牌/清白牌包。 - Manifest 配置与一键出包:可视化编辑
manifest.yml出包配置,按机型/包型一键构建固件包。 - 组件与固件联合构建:从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包。
简介
openUBMC Studio是一款基于code-OSS的openUBMC集成开发环境,专为openUBMC开发设计。主要特性包括:
- 智能代码辅助:提供代码跳转、定义预览、引用查找等功能
- 实时错误检查:基于规则集自动检测代码错误和潜在问题
- 表达式计算器:支持CSR表达式的编写、调试和批量测试
- SMC命令字配置:提供可视化的SMC命令字解析和配置工具
- 模型配置:支持产品和规则集的快速选择与配置
- 拓扑可视化配置:提供整机与单CSR维度的总线及器件拓扑可视化,支持拖拽器件
- 能效调速配置:支持通过Excel导入热设计表格,自动生成CSR调速曲线代码
- Manifest 可视化配置:支持配置构建变体、组件依赖、默认特性和组件特性,并提供配置诊断
- 组件与固件联合构建:支持从业务组件仓构建本地组件包,在隔离 Manifest 中验证选包并自动转入固件出包
- 一键出包:支持选择机型和包型,完成出包预检、固件构建、日志查看和产物下载
- BMC环境管理插件:集中管理多台 BMC,支持连接/分组、命令宏、SFTP/HPM 升级与日志监控。
- 白牌包定制:可视化定制 Web 风格、Logo/图片与产品信息,一键出白牌/清白牌包。
- 社区集成:无缝对接openUBMC社区资源和服务
登录到社区功能
openUBMC Studio提供了便捷的社区登录功能,通过社区登录可以获取更多资源和服务支持。
登录步骤
点击IDE右下角状态栏中的登录图标
在弹出的登录页面中输入您的openUBMC社区账号和密码
点击“登录”按钮完成登录
登录状态保持
登录成功后,IDE会自动保持和刷新登录状态:
- 自动刷新:IDE会定期刷新登录状态,确保持续有效
- 状态保持:退出IDE后,登录状态会继续保持一段时间
- 自动重连:重新打开IDE时,会自动尝试使用上一次的登录状态重新登录
Conan中心仓集成
登录社区后,IDE会自动同步登录到Conan中心仓:
- 登录状态自动保持并刷新
- 只要IDE处于登录状态,Conan就处于登录状态
- 在执行出包等操作时不会因为认证问题而超时
说明:
建议在开始开发工作前先完成社区登录,以确保能够正常访问所有资源和服务。
CSR编码辅助功能
openUBMC Studio提供了强大的CSR编码辅助功能,包括引用跳转、规则检查、表达式计算器和SMC计算器等,帮助开发者快速定位代码、发现问题并提高开发效率。
模型配置
使用CSR编码辅助功能前,需要先完成模型配置。登录IDE后,点击Web版Studio状态栏中的"未选择机型"按钮,按以下步骤操作:
在模型配置页面中,选择对应的产品和规则集。
确认产品信息后,选择需要配置的模型文件。
配置模型文件对应的代码仓和分支信息。
完成配置后,点击"确定"保存配置。模型配置完成后,规则检查、拓扑配置等功能即可正常使用。
说明:
模型配置完成后即可使用以下CSR编码辅助功能。后续如需切换产品或规则集,可重新进行模型配置。
引用跳转功能
引用跳转功能可以帮助开发者快速定位代码定义和引用位置,支持多种跳转方式,大幅提高代码阅读和导航效率。
转到定义
在代码编辑器中,将光标定位到需要查看定义的符号上。
使用以下任一方式跳转到定义:
- 右键点击符号,选择“转到定义”
- 按住
Ctrl键,点击符号
编辑器将自动跳转到符号的定义位置。
转到引用
在代码编辑器中,将光标定位到需要查看引用的符号上。
使用以下任一方式查看引用:
- 按下
Shift + F12键 - 右键点击符号,选择“转到引用”
- 按下
在侧边栏将显示所有引用该符号的位置列表。
点击列表中的项可跳转到对应的引用位置。
鼠标悬停预览定义
在代码编辑器中,将鼠标悬停在符号上。
等待片刻,将显示符号的定义预览窗口。
基本规则错误检查功能
openUBMC Studio内置了CSR规则检查功能,模型配置完成后即可支持CSR语法与配置约束的实时检查。该功能支持错误位置高亮和规则自动更新,帮助开发者在编码阶段就发现潜在问题。
实时检查
模型配置后,在openUBMC Studio中打开任意CSR文件,检查自动生效:
页面中的类型错误和格式错误都会被实时拦截:
表达式中的语法错误也可以被实时拦截:
查看检查结果
错误和警告会以波浪线形式标注在代码中:
- 红色波浪线:表示错误(Error)
- 黄色波浪线:表示警告(Warning)
查看"问题"面板:
- 点击底部"问题"标签页
- 查看所有错误和警告列表
- 点击列表项可快速定位到对应代码位置
复杂规则校验
openUBMC Studio已建立复杂规则校验能力,可以在社区代码仓 openubmc_dsl_rulepack 中开发业务相关的检查规则,自定义规则同样支持实时检查功能。
表达式计算器功能
表达式计算器是openUBMC Studio提供的强大工具,用于编写、调试和测试CSR表达式,帮助开发者快速验证表达式的正确性。
打开表达式计算器
打开CSR文件,在表达式上方将显示“计算表达式”按钮
点击“计算表达式”按钮,表达式计算器窗口将在右侧打开
表达式计算器界面
表达式计算器界面包含以下部分:
- 表达式编辑区:显示和编辑当前选中的表达式
- 模式切换按钮:可以在“调试模式”和“用例模式”之间切换
- 变量面板:显示当前表达式中可用的变量及其值
- 结果面板:显示表达式计算结果和各级管道的计算过程
修改表达式
在表达式编辑区查看或修改表达式
修改完成后,点击“保存到文件”按钮保存修改
保存后,表达式计算器会自动重新加载表达式
源文件中的表达式修改并保存后,表达式编辑页面也会自动重新加载
调试表达式
在表达式编辑区查看表达式内容
在变量面板中输入或修改变量值
完成输入后,系统将自动计算:
- 各级管道的中间结果
- 最终表达式结果
说明:
调试功能可以帮助您逐步查看表达式的计算过程,快速定位问题。
表达式批量用例测试
在表达式计算器中, 点击“用例模式”按钮切换到批量测试模式
创建测试用例:
- 按照要求输入测试用例名称和参数值以及结果值
执行批量测试:
- 点击“加载用例”加载所有测试用例
- 点击“Execute all”执行所有测试用例
- 查看验证报告,显示每个用例的执行结果
说明:
测试用例可以导出为文件,方便团队共享和版本管理。
建议为复杂表达式编写多个测试用例,确保表达式在各种情况下都能正确工作。
SMC计算器功能
SMC计算器用于解析和配置SMC命令字,帮助开发者快速理解和生成SMC命令,简化SMC相关的开发工作。
打开SMC计算器
打开CSR文件,定位到Scanner或Accessor的offset字段
点击offset字段上方显示的"计算偏移量"按钮
SMC计算器窗口将在右侧打开
SMC命令字解析
SMC计算器提供了强大的命令字解析功能:
- 自动解析:当前偏移量会被自动解析,显示各字段的含义
- 实时计算:修改下方输入框的数据内容将自动更新和计算偏移量
- 应用到文件:点击“应用”按钮可以将计算结果写入到CSR文件
- 字段提示:鼠标悬停在字段上方可以显示具体的字段含义和说明
SMC命令字可视化辅助
openUBMC Studio提供了直观的SMC命令字可视化功能:
水印显示:SMC命令字将在CSR中以水印形式显示字段内容,方便查看
悬停详情:鼠标悬停在offset字段上将显示偏移量的详细信息,包括:
- 各字段的值
- 字段的含义
- 完整的偏移量计算结果
说明:
可视化辅助功能可以帮助您快速理解复杂的SMC命令字结构,减少配置错误。
拓扑与CSR可视化配置
拓扑可视化配置功能提供整机维度与单CSR维度的总线及器件拓扑可视化,支持通过拖拽器件的方式新增和删除器件,支持配置整机的CSR拓扑关系。
创建拓扑配置
点击openUBMC Studio左侧的拓扑十字形侧边栏图标。
点击"创建配置"。
点击"添加仓库",选择CSR文件夹,即可在该机型配置中使用来自该文件夹的CSR。可以添加多个CSR代码仓,点击右下角的"确定"即可创建项目。
创建完成后,拓扑起点为
root.sr。
配置拓扑关系
可通过板卡上方选项在整机拓扑中选择对应板卡,各板卡可选下游板卡数量和类型由该板卡的Connector配置决定,所有配置信息会自动在本地持久化。
双击整机拓扑页面的任意板卡,或者点击左侧CSR列表中的文件,即可打开单CSR配置页面。
拖拽器件
打开器件库,将器件拖拽到总线上即可将器件挂载到总线,同时自动修改对应CSR文件内容。
说明:
后续将继续提供整机视角的多CSR配置功能。
能效调速配置
能效调速配置功能提供能效调速对象的配置入口,支持通过Excel导入热设计表格解析调速曲线配置,支持对象自动关联及配置检查、CSR片段自动生成。
打开配置页面
点击CSR拓扑侧边栏中的温度计图标即可开启能效调速配置页面。
配置能效调速对象
通过该页面配置能效调速对象,以及配置对象间的关联关系。
点击右上角的"导入Excel"即可导入热设计表格,当前仅支持xlsx格式,若为其他格式请通过Excel另存为xlsx格式文件。完成导入后,温度点与调速曲线等配置可以自动解析。
点击右上角"生成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 | 显示/隐藏侧边栏 |
说明:
可以在“文件”>“首选项”>“键盘快捷方式”中查看和自定义所有快捷键。
设置与配置
修改用户设置
- 点击菜单栏“文件”>“首选项”>“设置”,或使用快捷键
Ctrl + , - 在设置页面中,可以修改各类配置:
- 编辑器设置(字体、主题、缩进等)
- CSR规则检查设置
- 快捷键配置
- 扩展设置
卸载openUBMC Studio
如果您不再需要使用openUBMC Studio,可以通过以下步骤卸载。
Windows系统卸载
- 打开“控制面板”>“程序”>“程序和功能”
- 在程序列表中找到“openUBMC Studio”
- 右键点击,选择“卸载”
- 按照卸载向导提示完成卸载
卸载后清理
说明:
卸载程序不会删除用户配置文件和工作空间数据,如需完全清理,请手动删除以下目录:
- 用户数据目录:
%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 下用于安全存储密码。
安装插件
- 在 openUBMC Studio 中打开插件市场(活动栏的「扩展」图标,或按
Ctrl+Shift+X),搜索「BMC环境管理」,点击「安装」。 - 安装完成后重启 IDE 生效。活动栏出现「BMC环境管理」图标即表示安装成功。
说明:
若已安装 openUBMC Studio 主插件,BMC环境管理作为配套扩展随其一同提供,具体获取方式请参考 openUBMC Studio 安装指南。
BMC 环境管理
新增分组
连接以「分组」为单位组织,系统默认创建一个分组。
- 在 BMC Environments 视图标题栏单击「Add Group」按钮。
- 输入分组名称并确认。
分组的右键菜单支持「Add」「Rename Group」「Delete Group」。分组非空时拒绝删除(保护数据),需先清空或迁移其下连接。
新增连接
- 单击 BMC Environments 视图标题栏「Add BMC Environment」按钮,或在某个分组上右键选择「Add」。
- 在弹出的表单中填写连接信息并保存。
连接字段说明:
| 字段 | 说明 | 备注 |
|---|---|---|
名称 name | 连接显示名称 | 必填 |
IP 地址 host | BMC 的 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 连接执行完整命令集,并回收结构化的「环境 × 命令」结果矩阵。
新建宏
- 单击 Command Macros 视图标题栏「Add Command Macro」按钮。
- 在表单中填写宏内容并保存。
宏字段说明:
| 字段 | 说明 | 默认值 / 范围 |
|---|---|---|
名称 name | 宏名称 | 必填 |
描述 description | 宏描述 | 可选 |
命令 commands | 有序命令列表 | 至少 1 条;每条可单独设置 description、timeoutMs、abortOnFailure(遇错:默认 / 中断 / 继续) |
变量 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 上传
- 在资源管理器中右键本地文件或目录 → 「上传到 BMC 环境」。
- QuickPick 列出全部连接并实时探测连通性,仅可达环境可选。
- 选择目标 BMC 后,进度通知显示上传过程,完成后默认上传到远端
/tmp。
单文件使用 SFTP 直传;目录上传采用「本地 tar.gz 打包 → 传输 → 远端 tar -xzf 解压」流程。
说明:
目录上传需本机与远端均安装 tar(支持 -z),缺失会提示安装方式。无凭据或不可达的环境不可选。
HPM 一键升级
- 在资源管理器中右键
.hpm固件包 → 「一键升级到 BMC 环境」(仅.hpm文件出现该菜单项)。 - 多选目标 BMC(实时探测连通性,不可达项自动忽略),仅保留可达且有凭据的环境。
- 模态危险确认:「将对 N 个环境升级固件 xxx.hpm,升级期间 BMC 可能重启且不可中断,是否继续?」。
- 进度通知显示整体进度,完成后给出成功 / 失败汇总;失败环境的右下角通知可一键打开输出查看原因。
升级按 BMC HTTPS REST 协议执行「登录 → 上传 → 触发 → 轮询 → 登出」,使用 443 端口,自签名证书自动放行。
相关配置项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
bmc.upgradeConcurrency | 3(1–8) | 多 BMC 并发度,重操作建议保守 |
bmc.upgradePollDeadlineMs | 600000 | 单台轮询整体硬超时(默认 10 分钟) |
bmc.upgradePollErrorTolerance | 5 | 轮询连续失败容错次数,兼容升级中途 BMC 重启 |
bmc.upgradeUploadTimeoutMs | 300000 | REST 上传 HTTP 超时(超时自动转 SFTP 兜底) |
BMC 重启期间,进度条数值暂停在最后已知值,提示信息切换为「设备异常不通,正在尝试重新查询升级状态」,避免被误判为卡死或误报成功。常见失败原因:登录失败(检查账号密码与 443 端口)、触发失败、状态异常、轮询连续失败、上传失败、网络错误。
注意:
升级为破坏性、不可逆操作,一旦开始不可取消。请确认固件版本与目标环境正确后再执行。
实时日志监控
- 在连接树右键某连接 → 「实时日志监控」。
- 插件通过 Telnet 列出
/var/log,归并出日志基名,QuickPick 选择目标日志。 - 打开日志监控 Webview(标题「{连接名} 日志监控」),实时追加日志。
- 顶部按钮:「日志信息下载」(可选「下载当前窗口内容」/「下载远程原始文件」)、「清空」、「停止」;滚动离开底部时出现「回到底部」。
核心能力:
- 日志轮转无缝衔接:跟随文件名
tail,在日志压缩切换瞬间自动重开新文件,流不中断。 - 时间回绕校准:当系统时间回绕(年份小于
rewindMinYear,典型如 1970)时,自动估算并标注[估算],时间恢复后线性插值回填[校准]。 - 断线自动重连:默认开启,退避重连且不重置状态机。
- 下载双通道:优先 SFTP 取回原始文件(含
.gz);SSH/SFTP 不可用时自动回退 Telnet 八进制传输。 - 下载后自动拼接:解压所有
.gz并按时间顺序拼接为完整日志。
相关配置项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
bmc.logMonitor.maxBufferedLines | 5000 | 后端缓冲日志行数上限(超出丢最旧) |
bmc.logMonitor.tailInitialLines | 200 | 启动时初始输出行数 |
bmc.logMonitor.rewindMinYear | 2000 | 年份小于该值视为回绕 |
bmc.logMonitor.autoReconnect | true | 断线是否自动重连 |
bmc.logMonitor.reconnectAttempts | 3 | 自动重连尝试次数 |
bmc.logMonitor.downloadGzip | true | 下载原始文件是否包含 .gz |
说明:
仅开放 SSH(23 端口不通)的 BMC 无法使用日志监控。下载原始文件时密码可选(仅 SFTP 下载需要,缺失时自动回退 Telnet 传输)。
配置项总览
除上述章节提到的配置外,所有配置集中在 bmc.* 命名空间。可通过侧栏视图标题栏的齿轮按钮(「Open Settings」)直接打开本扩展配置页。
| 配置项 | 类型 | 默认值 | 用途 |
|---|---|---|---|
bmc.connectionTimeout | number | 30000 | SSH 连接超时(毫秒) |
bmc.pingTimeout | number | 3000 | 可达性 TCP 探测超时(毫秒) |
bmc.autoMaximizeTerminal | boolean | true | BMC 终端在编辑器区(而非底部面板)打开 |
bmc.upgradeConcurrency | number | 3 | HPM 升级并发度(1–8) |
bmc.upgradePollDeadlineMs | number | 600000 | 单台升级轮询整体硬超时 |
bmc.upgradePollErrorTolerance | number | 5 | 轮询连续失败容错次数 |
bmc.upgradeUploadTimeoutMs | number | 300000 | HPM 上传 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 恢复为默认配置 |
两类模式共用同一套可视化编辑器与构建流程。
使用前准备
- 构建工具:需安装
bmcgo或bingo,且支持wbd_build子命令。插件会优先尝试bmcgo,不可用时回退bingo。 - 工作目录:准备一个用作白牌目录的文件夹(可为空)。白牌定制涉及的核心文件会生成在该目录下,构建产物
wbd-crypt-image-signed.hpm也会落回该目录。
打开白牌定制编辑器
在资源管理器中右键单击任意文件夹,选择 「定制白牌文件」 即可打开白牌定制编辑器(webview)。
打开时的行为遵循「缺哪个补哪个」:
- 若目录下尚无白牌文件,会自动创建默认的
filelist.conf、web_custom.xml、style_config.json(默认风格beautiful、版本2.00);同时扫描目录里已存在的图片自动加入filelist.conf声明,避免「图片在但 filelist 没声明」的不一致。 - 若目录下已有白牌文件,则按现有配置加载到编辑器中。
编辑器为单例面板:同一文件夹重复右键打开会回到已打开的面板;不同文件夹各自打开独立面板,互不干扰。
编辑器界面
编辑器顶部为模式切换与版本号,下方分为「配置定制」「风格定制」「图片定制」三个区域,底部为「保存」「构建」按钮。
模式与版本号
- 模式:
白牌包/清白牌包单选。切换到清白牌模式时,会隐藏「风格定制」段、图片按 BMC 路径分组展示、构建按钮文案变为「清白牌包构建」。图片在两种模式间共享,切换不重置。 - 版本号:格式
x.y(y最多两位,如1.0、2.0、1.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 | 邮箱 / 电话 |
DownloadKVMLink | KVM 下载链接 |
DocSupportFlag | 文档支持标记(取值 0/1) |
SoftwareName | 软件名称 |
CustomAlarmName | 自定义告警名称 |
CustomManufacturer | 自定义厂商 |
HostName | 主机名 |
Customer | 客户名 |
保存时只输出非空字段;DocSupportFlag 取值必须为 0 或 1。
风格定制(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.png、login_logo.png、img_01.png、img_02.png、img_03.png、header_logo.png | /data/opt/pme/web/custom |
每张图卡片支持「选择图片 / 更换 / 删除」;保存时所选图片会被复制到白牌目录(文件名与 filelist.conf 的声明一致)。
保存
点击「保存」执行两步:
- 同步图片:把所选图片复制到白牌目录,文件名改为与
filelist.conf声明一致; - 生成文件:按当前配置写出
filelist.conf、web_custom.xml、style_config.json。
保存成功后右下角提示「白牌配置已保存」。
构建白牌包
点击「白牌包构建」(清白牌模式为「清白牌包构建」),流程如下:
- 校验:
pageStyle必填、DocSupportFlag合法、版本号格式正确(实时校验,通过后才允许构建); - 自动保存:有未保存改动时先自动保存,保存成功后再构建;
- 前置文件检查:核对
filelist.conf声明的文件是否都实际存在;- 仅图片缺失 → 自动清理
filelist中缺失声明并提示重新构建; - 核心文件(
web_custom.xml/style_config.json)缺失 → 报错,需手动处理;
- 仅图片缺失 → 自动清理
- 临时目录构建:把白名单文件(
filelist.conf、其声明的文件、可选beforeaction.sh/afteraction.sh)复制到临时目录,在其中执行bingo wbd_build,终端面板实时输出进度(可手动终止); - 产物落回:构建成功后产物
wbd-crypt-image-signed.hpm自动复制回原白牌目录(同名覆盖),右下角提示带完整路径; - 按钮状态:构建期间按钮变为「构建中...」并禁用,结束后无论成功/失败/终止都恢复。
说明:
为什么要切到临时目录: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.conf 的 Version 为 2.02(白牌模式为 2.00)。
常见问题与注意事项
- 按钮一直禁用:检查
pageStyle是否已选(白牌模式必填)、DocSupportFlag是否为0/1、版本号是否符合x.y(y最多两位)。 - 图片显示但构建报缺失:以文件实际存在为准;缺图片会被自动清理,按提示重新构建即可。
- 找不到
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。
打开出包配置
- 在 openUBMC Studio 中打开需要配置的
manifest.yml文件。 - 点击依赖配置上方的“打开出包配置”。也可以打开命令面板,执行“Manifest: 打开出包配置面板(变体/依赖/默认特性)”。
- 在“出包配置”页面查看 schema 类型、平台包和 lockfile 状态,以及构建变体、默认特性、组件依赖和诊断结果。
配置构建变体和默认特性
- 在“构建变体”区域选择需要配置的
manufacture或tosupporte变体。未选择变体时,页面展示并修改基线配置。 - 查看当前变体的
build_type、signature_type和platform.package信息。选择变体后,依赖列表展示该变体与基线合并后的生效结果。 - 在“默认特性 default_options”区域修改已有特性,或点击“新增一项”添加特性。
- 点击“保存默认特性”,将配置写回当前基线或变体。
说明:
切换变体或清空默认特性前,如果存在未保存的修改,openUBMC Studio 会提示是否丢弃修改。
配置组件依赖和特性
- 在“依赖 dependencies”区域查看基础组件,
dt_dependencies(gcov)、debug_dependencies(dev)、qemu_dependencies(qemu)分别以独立卡片展示。 - 根据需要执行以下操作:
- 点击“插入”,从候选列表中向当前依赖类型添加组件。
- 点击“特性”,展开组件的
options和tool_options。特性值会标识为“显式”、“继承默认”或“recipe 默认”。 - 配置变体时,点击“删除”或“取消删除”,设置或取消组件的
action: delete状态。 - 点击“移除”,删除当前基线或变体中直接声明的组件。
- 修改组件特性后,点击“保存到 manifest”。
说明:
当 platform.package 已配置时,平台整包中的组件会显示“锁”标识,其版本和特性不可在产品 Manifest 中定制。
变体中继承自基线的组件不能直接从变体中移除,如需删除其声明,请切换到基线操作。
查看 SDK 组件
- 在
platform.conan配置上方点击“查看 ibmc_sdk 组件”,或在openubmc_sdk.conan配置上方点击“查看 openubmc_sdk 组件”。 - 在“SDK 组件”页面查看组件名称、版本或 Conan 引用,以及组件清单的来源。
- 在搜索框中输入组件名称,可以筛选当前 SDK 中的组件。
组件与固件联合构建
组件与固件联合构建功能用于在业务组件仓中构建本地 Conan 包,并将该组件集成到目标产品的调试固件中。本章节适用于需要验证组件改动或生成联调固件的组件开发人员。
准备构建环境
执行组件构建前,请准备以下环境:
- 受信任的 Linux 本地、WSL 或 SSH Remote 工作空间
- 包含有效
mds/service.json的业务组件仓 - 安装在 Extension Host 中的 Conan 2.x
- 登录 Shell 可以执行
bmcgo或bingo
执行组件与固件联合构建时,还需要满足以下要求:
- Extension Host 中已安装 Git
- 目标 Manifest 可以从同一 Extension Host 访问
- 目标 Manifest 位于
build/product/<产品线>/<机型>/manifest.yml - 目标 Manifest 所在仓库具有有效的 Git HEAD
- 目标 Manifest 的修改已经保存
- 目标 Manifest 未配置非空的
include
说明
如果同时检测到 bmcgo 和 bingo,openUBMC Studio 默认使用 bmcgo,并允许用户切换构建工具。组件构建面板与固件出包页面共用此设置。仅检测到 bingo 时,openUBMC Studio 直接使用 bingo。
打开组件构建面板
- 将包含
mds/service.json的业务组件仓作为工作空间打开。 - 在资源管理器中展开“业务组件仓快捷入口”。
- 展开“openUBMC Studio Local View”。
- 单击“组件构建”。
- 等待构建计划解析完成。
通过资源管理器中的快捷入口打开组件构建面板。
组件构建面板默认进入“仅组件模式 · 不关联 Manifest”,并显示组件包、组件 options、阻断项和诊断信息。
展开“运行环境与命令详情”,可以查看登录 Shell、工具路径、命令预览和目标 profile。展开“查证与会话技术详情”,可以查看组件包身份、依赖图和沙箱覆盖的证据位置。
仅构建组件
仅构建组件适用于只需要生成本地组件包、不需要生成固件的场景。此模式不创建 Manifest 沙箱,也不执行 install_sdk、app 或 publish。
- 确认页面处于“仅组件模式”。
- 如果已经选择固件目标,单击“返回仅组件模式”。
- 在“组件 options”区域选择需要的值。
- 确认“阻断项”为空。
- 根据需要展开“运行环境与命令详情”,检查命令预览。
- 单击“仅构建组件”。
- 在 Task 终端中查看构建输出。
- 构建完成后,确认“执行状态”为“成功”。
- 展开“查证与会话技术详情”,查看“组件独立构建包身份证明”。
只能选择当前 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.py、temp/、gen/ 以及 mds/service.json 中声明的代码生成目录。如果其他受保护文件发生变化,openUBMC Studio 会停止后续流程,但不会自动回滚文件。执行构建前,请保存重要修改。
构建组件并转到固件出包
组件与固件联合构建适用于生成包含当前组件改动的调试固件。openUBMC Studio 会在隔离的 Manifest 沙箱中应用组件包,不会修改源 Manifest、SDK 或 subsystem 文件。
选择固件目标
- 单击“选择固件目标”(已选择目标时显示为“更换固件目标”)。
- 选择需要构建的
tosupporte或manufacture包型。 - 如果列表中没有目标文件,单击“选择其他 manifest.yml…”。
- 选择当前 Extension Host 可以访问的
manifest.yml。 - 等待构建计划刷新完成。
- 确认页面标题下方显示正确的产品线、机型和包型。
固件目标列表显示已发现的产品、包型和 Manifest 路径。选择结果会自动缓存。
选择固件目标后,组件 options 由目标 Manifest 的生效配置锁定,不能在面板中修改。如果源码版本不满足目标版本约束,页面会显示非阻断提示;app 和 publish 仍会验证实际选中的组件包。无法安全解析配置或 option 时,页面会阻止构建。
执行联合构建
- 确认“阻断项”为空。
- 展开“运行环境与命令详情”。
- 检查
install_sdk、组件构建、app预检和publish命令。 - 单击“构建组件并转到固件出包”。
- 在 Task 终端中查看构建输出。
openUBMC Studio 按以下顺序执行联合构建:
- 复制 Manifest 的 Git 源输入并创建临时沙箱。
- 在沙箱中将所选包型的
build_type设置为debug。 - 使用 stable channel 执行
install_sdk。 - 使用目标 profile 构建并验证当前组件包。
- 在沙箱当前包型的
dependencies中写入组件的精确 reference、RREV 和业务 options。 - 使用 stable channel 执行
app依赖图预检。 - 验证依赖图选择的组件 recipe、目标 profile 和业务 options。
- 打开“固件出包”页面并自动启动 stable channel 的
publish任务。
验证联合构建结果
- 在组件构建面板中确认“执行状态”为“成功”。
- 确认“组件包证明”和“app 目标包证明”均已通过。
- 在自动打开的“固件出包”页面中查看计划组件和本次实际组件。
- 确认固件任务退出码为 0。
- 在“自动发现的本次产物”区域下载需要的固件产物。
在“固件出包”页面中核对计划组件和本次实际组件,确认固件使用了本次构建的组件包。
在“自动发现的本次产物”区域下载需要的固件文件。
组件会话、固件出包交接和固件任务分别记录结果。组件页面显示成功,表示组件包身份和 app 选包已经验证;固件是否成功以固件出包页面中 bmcgo 或 bingo 的退出码为准。未自动发现 HPM、ZIP 或 QEMU 文件不会改变固件任务的结果,需要结合 output 目录和完整的 task.log 确认实际文件。
选择合法的 tosupporte/qemu 目标时,app 和 publish 会自动启用 QEMU 构建参数。固件出包页面会尝试发现 .data.gz 和 .cpio.gz 产物并提供下载入口。后续操作请参见一键出包。
停止构建任务
关闭组件构建页面不会停止正在运行的任务。重新打开同一组件仓,可以继续查看当前会话。
- 组件构建阶段:单击“取消”
- 固件构建阶段:在“固件出包”页面中单击“终止任务”
清理构建沙箱
- 等待固件任务进入成功、失败或取消状态。
- 下载需要保留的固件产物。
- 返回组件构建页面。
- 单击“清理本次沙箱”。
- 在确认窗口中单击“清理本次沙箱”。
开始下一轮构建时,也可以在提示窗口中单击“清理并继续”。
注意
清理沙箱会永久删除本次联合构建生成的临时 Manifest、日志和固件产物,且无法恢复。openUBMC Studio 重启后也不保证能够访问旧会话产物。执行清理前,请下载需要保留的产物。
处理常见问题
| 诊断码或现象 | 处理建议 |
|---|---|
WORKSPACE_UNTRUSTED、UNSUPPORTED_PLATFORM | 在受信任的 Linux 本地、WSL 或 SSH Remote 工作空间中重新打开组件仓。 |
BUILD_TOOL_NOT_FOUND、SHELL_ENV_RESOLVE_FAILED | 确认登录 Shell 可以执行 bmcgo 或 bingo,并可以执行 Conan 2.x;也可以单击“配置工具路径”。 |
TARGET_MANIFEST_INVALID、MANIFEST_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 | 此提示不会阻止构建。确认源码版本符合本次调试目的后继续,实际选包仍由沙箱中的 app 和 publish 依赖图验证。 |
INTEGRATION_MISMATCH | 展开“查证与会话技术详情”,检查独立组件包、整包目标组件包、app 依赖图和 options 差异。 |
MANIFEST_INPUT_LIMIT_EXCEEDED、INSUFFICIENT_DISK_SPACE | 清理 Manifest 仓中未忽略的大文件或释放沙箱所在卷空间;确有需要时在“组件构建”设置中调整输入上限或最低可用空间。 |
DEBUG_PACKAGE_SIGNING_UNAVAILABLE | 此提示不会阻止构建。固件签名或占位行为由 bmcgo 或 bingo 决定,请以固件任务退出码和产物为准。 |
FIRMWARE_PACKAGE_HANDOFF_FAILED | 组件包和 app 预检可能已经成功;根据提示中的沙箱 Manifest 和覆盖报告,在固件出包页面检查阻断项并重试。 |
一键出包
一键出包功能可以根据产品 manifest.yml 中的 tosupporte 和 manufacture 包型生成构建命令,完成环境预检并启动固件构建。构建过程中可以查看计划组件、实际组件、构建进度和日志,构建完成后可以下载本次生成的固件产物。
说明:
执行一键出包需要使用受信任的 Linux 本地、WSL 或 SSH Remote 工作空间,manifest 仓及其 output 目录需要具备写权限。
用户登录 Shell 环境中需要存在 bmcgo 或 bingo 命令。检测到 bmcgo 时默认使用 bmcgo 并支持切换到 bingo;仅检测到 bingo 时直接使用 bingo。
选择机型和包型
可以通过以下任一方式进入出包流程:
- 在资源管理器的“快捷入口”中展开“openUBMC Studio Local View”,点击对应机型的出包入口,例如
BMC/openUBMC 出包。 - 打开产品
manifest.yml,点击目标tosupporte或manufacture包型上方的入口,例如default 出包入口,直接进入该包型的出包页面。
通过“出包配置”页面或“快捷入口”进入时,按以下步骤选择包型:
- 在“固件包类型选择”页面查看当前机型的所有包型。页面按照“To Support E”和“Manufacture”分组,显示包型名称、构建类型、包名和签名类型。
- 可以在搜索框中按照包型名称、分类或包名筛选。
- 在目标包型右侧点击“进入出包页”。无效包型会显示具体的配置错误,需要修改
manifest.yml并刷新后再选择。
执行出包预检
- 进入“固件出包”页面后,等待 openUBMC Studio 读取 Manifest、组件清单和构建环境。
- 在“构建选择”区域选择构建类型。若
manifest.yml已配置build_type,构建类型不可修改。 - 查看出包信息、构建命令预览和计划组件。组件来源默认折叠,可按需展开查看。
- 如果“组件来源”中存在支持获取的缺失 SDK 制品,点击“从 Conan 获取”,完成后页面会自动重新加载出包信息。
- 点击“一键预检”重新检查当前配置和环境。如果页面显示“预检阻断”,请根据提示保存 Manifest、信任工作空间、修复配置或补齐构建工具后再次预检。
执行出包任务
- 预检通过后,点击页面顶部的“开始出包”。openUBMC Studio 会根据包型自动生成参数,并通过 Task 终端启动构建。
- 任务启动后,页面会自动定位到“构建阶段”,依次展示“计划就绪”、“有效 manifest”、“依赖图就绪”和“产物就绪”状态。
- 构建期间可以在 Task 终端查看实时输出,也可以在页面查看本次实际组件以及计划和实际配置之间的差异。
- 如需停止构建,点击“终止任务”。关闭出包页面不会自动终止正在执行的任务,重新打开同一包型的出包入口可以继续查看当前会话。
查看日志和下载产物
- 构建成功、失败或取消后,页面会自动定位到“构建日志”,并显示
temp/log/task.log末尾最多 128KiB 的内容。 - 构建失败时,可以点击“只看异常上下文”或“跳到最近异常”辅助定位问题;点击“打开完整 task.log”可以查看完整日志。
- 构建成功后,在“本次新产物”区域根据包型查看本次构建生成的 HPM、发布 ZIP 等文件,点击“下载”并选择保存位置。Remote 工作空间中的产物也可以下载到本机。
- 在“最近记录”区域查看当前工作区近期出包任务的状态、执行时间和产物数量。
说明:
日志中的异常高亮仅用于提供排查线索,不代表 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
- BMC Studio的环境搭建以及安装指导,请参见BMC Studio安装指南。
- 如果需要通过插件安装BMC Studio,请参见BMC Studio插件使用指南。
接入设备管理和在线调试
此功能主要用于管理Qemu设备和和BMC设备,并提供了在线调试接口和查询数据库的功能。
在BMC Studio首页,单击右上角“设备管理”按钮,进入“接入设备管理”界面。
说明:
管理Qemu设备以及在线调试的操作,请参见BMC Studio Qemu设备管理使用指南。
连接SSH的操作方法,请参见BMC Studio SSH连接功能操作指南。
配置工作空间
首次使用BMC Studio,必须配置默认空间,如果未配置则无法进入系统。
默认空间配置
说明:
默认工作空间配置完成后,暂不支持删除。
首次登录BMC Studio,界面提示配置默认空间。
根据实际需求配置默认空间。
- 空间名称:填写工作空间的名称,要求如下:
- 支持数字、字母、下划线和点号(.),且必须包含数字或字母。
- 工作空间名称设定后不支持修改。
- 工作空间的名称不能重复,建议用产品名称命名。
- 数据导入方式:请根据实际情况,选择数据导入的方式。
- 如果选择“导入Manifest”:则通过Manifest来初始化空间数据。
- 如果选择“指定文件路径”:则导入本地开发环境的数据作为空间数据进行管理。
- 如果选择“自定义”:则需要手动上传一个文件夹或 zip 压缩包作为初始化的工作空间数据。
- Git地址:请输入Manifest的git仓库地址。
- 远端分支名称:请选择待开发产品对应的Manifest分支。
- 指定文件路径:“数据导入方式”选择“指定文件路径”时必填。请输入本地开发环境的数据所在的路径。例如:
/usr/share/bmc_studio/server/users/xxxxx/oem_files。 - 一键迁移:数据导入方式”选择“指定文件路径”时支持此勾选项。如果勾选,则表示将指定路径下的工作数据无损迁移到BMC Studio工作空间进行管理。
- 空间名称:填写工作空间的名称,要求如下:
填写完毕后,单击“确认”,完成配置。
新建工作空间
新建的工作空间可用于管理不同系列化产品,空间之间的数据相互独立。最多支持创建10个(包含默认工作空间)。
在BMC Studio首页,单击右上角工作空间按钮。
选择“新建工作空间”。
根据实际需求配置空间信息,详细参数可参考“配置默认空间”中的参数说明。
填写完毕后,单击“确认”。
根据弹框提示,选择跳转到新的工作空间。
单击右上角“仓库管理”按钮进入仓库。
选择产品名称,为新的工作空间指定产品。
单击“一键仓库部署”拉取对应产品代码仓库的模型文件到创建的工作空间内。
单击“获取全量代码”拉取对应产品代码仓库的全量代码到创建的工作空间内。
说明:
新建的工作空间如果未执行“一键仓库部署”,模型文件将显示不存在。
执行一键仓库部署需要有仓库权限。
自定义工作空间
目前BMC Studio提供自定义工作空间的能力
导入代码仓
在工作空间页面,点击“导入仓库”
输入想要导入的代码仓的git url
选择您想要给拉取下来的代码仓起的名字(可选,不输入则默认为git仓库名)
点击下拉框选择您想要导入的对应代码仓的分支
说明:
代码仓不可与现有代码仓同名。
删除代码仓
在工作空间页面,找到您要删除的代码仓,点击右侧删除即可。
编辑代码仓
只有git仓才能编辑。 在工作空间页面,找到您要编辑的代码仓,点击右侧编辑即可。 目前支持编辑的选项只有远端分支。您可以从tag或其他分支切换到您想要的分支,但是您不能切换到一个tag上。
导入mds
该功能可以批量更新工作空间内的mds。如果您有一个mds压缩包,您可以点击导入mds将压缩包导入到BMC Studio。BMC Studio会自动用压缩包内的mds替换工作空间内代码仓的mds文件。 该操作不会影响代码仓内其他文件。
切换工作空间
支持工作空间相互切换。
说明:
切换工作空间不会删除工作空间内的数据。
工具拉取代码和执行模型检查时,不支持切换工作空间。
切换工作空间成功后,工具的所有操作都是基于新工作空间的数据。
切换工作空间不会删除切换前和切换后工作空间的数据。
在BMC Studio首页,单击右上角工作空间名称。
选择需要切换的工作空间。
单击“切换到此空间”。提示“操作成功”表示空间切换成功。
删除工作空间
最多支持创建10个工作空间,如果达到创建上限,则需要删除已有的工作空间,才可继续创建。
说明:
默认工作空间不支持删除。
工具拉取代码和执行模型检查时,不支持删除工作空间。
删除工作空间会解除工具与工作目录的关系。
如果删除正在使用的工作空间,删除成功后将自动切换到默认工作空间。
在BMC Studio首页,单击右上角工作空间名称。
选择需要删除的工作空间。
单击“删除此空间”,弹出删除确认的提示框,请确认后操作。
- 确认删除操作,请单击“确认”。如果勾选“同步删除工作空间数据”,删除成功后数据无法恢复,请谨慎操作。
- 取消删除操作,请单击“取消”。
确认后,完成删除工作空间操作。
操作模块
配置CSR模块
CSR描述了硬件板卡的物理组成结构,包括链路拓扑和器件描述信息。将一个可独立更换的Fru抽象为板卡(组件和部件),为每一个板卡都定义一个CSR描述文件,在运行过程中由BMC系统自动发现和解析。
修改模型
- 在BMC Studio选择操作模块的首页,选择CSR。
- 进入CSR模型界面,工具会自动识别产品空间中的CSR仓库。
- 在CSR列表中,选择需要操作的模型。
- 搭建模型。
- 修改完毕后,单击“保存”。
新增组件仓
- 在BMC Studio选择操作模块的首页,选择CSR。
- 点击图中所示的加号按钮。
- 选择需要上传的文件夹,然后点击右下角的“打开”。
新增文件夹
在BMC Studio选择操作模块的首页,选择CSR。
在CSR列表中,选择需要新增文件夹的目标文件夹。
单击目标文件夹后的“操作”。例如:需要在vpd文件夹下新增文件夹,请单击vpd后的“操作”按钮。
选择“新增文件夹”。
输入文件夹名称,完成新建操作。
说明:
名称仅支持数字、字母和下划线。
新增组件
目前提供三种方式新增组件
手动新增
在BMC Studio选择操作模块的首页,选择CSR。
在CSR列表中,选择需要新增组件的目标文件夹。
单击目标文件夹后的“操作”。例如:需要在src文件夹下新增组件,请单击src后的“操作”按钮。
选择“新增组件”。
填写组件名称、格式版本和数据版本。数据版本和格式版本要求为A.BC的格式校验,A、B、C均为0-255的数字(不能有前导零)。
填写完毕后,单击“保存”。
上传组件
- 在BMC Studio选择操作模块的首页,选择CSR。
- 在CSR列表中,选择需要新增组件的目标文件夹。
- 单击目标文件夹后的“操作”。例如:需要在src文件夹下新增组件,请单击src后的“导入本地sr文件”按钮。
- 选择需要上传的sr文件,并点击“打开”
复制CSR
- 在BMC Studio选择操作模块的首页,选择CSR。
- 在CSR列表中,选择需要复制的目标文件夹。
- 单击目标文件后的“操作”,然后点击复制按钮。
- 选择您要将 CSR 复制过去的文件夹,点击文件名后的“操作”,然后点击粘贴按钮。
删除组件
支持撤销删除操作,具体操作方法方法请参考“常用操作”章节中的撤销删除文件和撤销修改。
在CSR列表中,选择需要删除的文件、模型或组件,单击“操作”。
选择“删除”。
工具弹出确认删除的提示框,请根据情况选择。
- 确认删除,请单击“确认”。
- 取消删除,请单击“取消”。
CSR页面检查
以下视频介绍了 BMC Studio 的 CSR 页面模型检查操作指导,通过该视频您可以详细了解 CSR 模型检查的具体步骤,模型检查可以检查出模型之间不一致的错误,并给出告警提示。
同步代码
通过Git命令,将CSR配置提交到代码仓。
选择要同步代码的主文件夹,单击“操作”。
选择“同步代码”。
如果提示“代码同步成功”,表示同步代码操作成功。
说明:
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。
适配板卡
适配板卡具体操作流程,请参见BMC Studio板卡适配指南。
CSR出包
支持单个和批量打包CSR。
说明:
批量生成时仅支持下载为HPM包格式。
选择的CSR文件中,必须包含UID,且批量出包中的UID不能重复。
单个CSR打包
模型配置完成后,单击页面右上角“CSR出包”。
参考以下内容,填写出包信息。
- FormatVersion:填写Format的版本。
- DataVersion:填写Data的版本。
- EEPROM大小限制:选择16k或32k。
- OEM定制信息:选填项,请根据情况选择是否上传OEM定制信息。上传要求格式为.bin,大小不超过4KB。
- 下载选项:勾选下载生成的格式,可同时勾选多个。支持HPM、二进制bin、json文件。
单击“CSR出包”。生成的CSR将自动下载到本地。如果通过ssh连接了 BMC 真机,则还可以选择“出包并升级到BMC”将出的包直接生效到真机环境。
批量CSR打包
批量生成时仅支持下载为HPM包格式。
在CSR列表右上方单击“批量CSR出包”。
勾选需要出包的文件,单击CSR出包。
参考以下内容,填写出包信息。
- OEM共享文件:上传的OEM文件可用于全部CSR出包使用。
- EEPROM大小限制:选择16k或32k。
- OEM文件:为对应的CSR上传OEM文件,上传要求格式为.bin,大小不超过4KB。
- 使用共享文件:如果勾选,表示携带“OEM共享文件”中上传的文件。如果不勾选,表示不携带“OEM共享文件”中上传的文件直接携带本文件选择的对应“OEM文件”。
- 删除:删除对应的CSR文件。
单击“批量CSR出包”。
说明:
“出包并升级到BMC”功能需要您有真实服务器,并且通过BMC Studio连接到这台机器才能使用,可以将出完的包直接生效到环境中。 详情请见
生效到 QEMU
在连接到 Qemu 后,可以将文件直接生成到 Qemu 环境。 在点击了按钮后,可以选择生效方式。 BMC Studio 会把该文件以对应的方式生效到 Qemu。
配置资源协作接口
资源协作接口即为从系统视角对BMC软件管理功能的抽象定义。资源协作接口包含对象和接口的定义,接口以bmc.kepler开头。
修改资源协作接口/路径信息
说明:
配置资源协作接口的基本信息时,属性、方法和信号要求至少配置一个。
- 选择需要操作的资源协作接口/路径。
- 修改资源协作接口的配置。
- 修改资源协作接口路径的配置。
- 修改完毕后,单击“保存”,完成修改。
新增文件夹
选择需要新增文件夹类型,路径或接口。
在资源协作接口列表中,选择需要新增文件夹的目标文件。
单击目标文件夹后的“操作”。以新增路径文件举例,例如:需要在Accessor文件夹下新增文件夹,请单击Accessor后的“操作”按钮。
选择“新增文件夹”。
输入文件夹名称,完成新建操作。
说明:
名称仅支持数字、字母和下划线,且要求不能以数字开头。
新增资源协作接口/路径
在资源协作接口列表中选择新增的类型:接口/路径。
在资源协作接口的列表中,选择需要新增接口或路径的目标文件。
单击目标文件夹后的“操作”。例如:需要在kepler文件夹下新增资源协作接口,请单击kepler后的“操作”按钮。
选择“新增资源协作接口”。
参考“修改资源协作接口/路径信息”中的参数列表。配置资源协作接口/路径。
配置完成后,单击“保存”。
检查
在资源协作接口/路径列表中,选择需要检查的文件,单击“操作”。
选择“检查”,工具开始检查所选文件的模型一致性。
检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。
删除资源协作接口/路径
支持撤销删除操作,具体操作方法请参考撤销删除文件和撤销修改。
在资源协作接口/路径列表中,选择需要删除的文件,单击“操作”。
选择“删除”。
工具弹出确认删除的提示框,请根据情况选择。
- 确认删除,请单击“确认”。
- 取消删除,请单击“取消”。
配置MDS
MDS是APP的模型描述文件,定义了该APP管理的资源协作接口和私有属性。
修改MDS信息
说明:
信息填写完毕后,未保存当前页面信息,切换页面时会清空当前页面编辑的全部内容,请谨慎操作。
- 选择需要操作的文件。
- 修改配置信息。
- 修改完毕后,单击“保存”,完成修改。
检查
在MDS列表中,选择需要检查的文件,单击“操作”。
选择“检查”,工具开始检查所选文件的模型一致性。
检查完成后,单击“检查结果”可查看详情,界面展示“错误提示”、“错误影响”和“修复建议”。
同步代码
通过Git命令,将MDS配置提交到代码仓。
选择要同步代码的主文件夹,单击“操作”。
选择“同步代码”。
如果提示“代码同步成功”,表示同步代码操作成功。
说明:
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。
删除MDS文件
在MDS列表中,选择需要删除的文件,单击“操作”。
选择“删除”。
工具弹出确认删除的提示框,请根据情况选择。
配置接口映射
使用Redfish/WebREST/SNMP/CLI的设计,引入数据映射器机制,框架解析数据映射配置,将接口请求转发到资源协作接口,拼装返回对应格式的数据。
映射配置定义了如下内容:
- 接口请求与资源协作接口的对应关系。
- 接口及属性的校验信息。
- 属性执行映射的前置与后置处理等。
新增文件夹
选择需要新增的接口类型:Redfish、WebREST、CLI或SNMP。
在文件列表中,选择需要新增文件的目标文件夹。
单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增文件夹,请单击Accounts后的“操作”按钮。
输入文件夹名称,完成新建操作。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。
新增接口映射
选择需要新增的接口类型:Redfish、WebREST、CLI或SNMP。
在文件列表中,选择需要新增接口映射的目标文件夹。
单击目标文件后的“操作”。例如:需要在Accounts文件夹下新增接口映射,请单击Accounts后的“操作”按钮。
选择“新增接口映射”。
输入接口名称。名称仅支持数字、字母、下划线和中划线,且要求不能以数字开头。
单击“新增资源”,输入URI资源。
单击“确认”接口新增成功。
配置接口信息。
检查
在接口文件或文件夹中,选择需要检查的文件,单击“操作”。
选择“检查”,工具开始检查所选文件的模型一致性。
检查完成后,单击“检查结果”可查看详情。界面展示“错误提示”、“错误影响”和“修复建议”。
删除接口文件
支持撤销删除操作,具体操作方法请参考“常用操作”章节中的“撤销删除文件和撤销修改”。
在接口文件列表中,选择需要删除的文件,单击“操作”。
选择“删除”。
工具弹出确认删除的提示框,请根据情况选择。
开发任务
板卡定制
板卡定制,分为以下两种情况。
- 板卡新增:定制新的板卡时,对新的器件进行定义,对新增板卡定制前,请先执行以下操作。
- 在原生开发定义资源协作接口和路径,操作方法请参考:操作模块 >资源协作接口配置。
- MDS里进行管理定义的资源协作接口。
- 打开对应的CSR开关。
- 板卡适配:基于已有器件库,对硬件组件进行定制,包含对组件上器件类型、数量的编排等操作。
定义新器件操作流程(板卡新增)
在BMC Studio首页,单击“板卡定制”,进入定制板卡操作界面。
请按照如下流程新增器件,操作方法参见配置CSR模型章节。
- (可选)新增CSR模型文件夹。
- 新增CSR组件。
- 配置模型数据。
- 保存配置。
单击“保存”完成配置。
定制硬件组件(板卡适配)
板卡适配详细操作可参见BMC Studio板卡适配指南。
原生开发
使用原生开发功能开发新的APP。
在BMC Studio首页,单击“原生开发”,进入原生开发操作界面。
为板卡定义资源协作接口信息。请按照如下流程配置,具体操作方法参见配置资源协作接口章节。
- (可选)新增资源协作接口文件夹。
- 新增资源协作接口。
- 新增资源协作接口路径。
- 保存配置。
在原生开发的导航条上,单击“MDS”。
为板卡配置MDS信息。具体操作方法参见配置MDS。
配置完成后,单击“保存”。
接口定制
可使用BMC Studio定制北向接口,包含对Redfish、WebREST、CLI、SNMP接口映射配置的新增、修改和删除,具体操作方法,请参考配置接口映射。
编译构建
BMC Studio的工作空间包含多个代码仓,这些代码仓可能被本地管理或被设置为Git工作空间。用户可通过页面配置Git仓地址,将代码同步到工作空间。工具也会自动扫描工作空间,识别出Git仓,并在仓库管理页面展示。
说明:
选择Manifest产品后,才可进行仓库初始化操作。仓库完成初始化操作后,才可获取代码。
参考以下内容选择出包信息。
- 一键出包:基于该产品空间的本地代码一键出包。仅root用户支持一键出包。
- Git仓库地址:工作空间中的Git代码仓。
- 本地分支名称:默认取值为导入Manifest时选择的远端分支,可手动切换分支。
- 同步远端最新配置:本地分支选择后,单击此按钮进行切换。说明:切换本地分支时将同步最新的远端代码。切换分支时,要求本地代码和Manifest的库上最新代码不能存在冲突,如果存在冲突,请手动解决冲突后再切换分支。
- 产品名称:选择分支对应的产品名称,切换产品后需重新进行仓库部署。如果该产品已执行过一键仓库部署,则无须再重新进行仓库部署。
- 一键仓库部署:根据Manifest中产品的配置信息,动态获取仓库配置并完成全量仓库代码的获取。
- 如果有代码变动,会弹框提示是否覆盖代码,
- 如果代码未变动,不会提示覆盖代码,但会做代码检查。
- 获取全量代码:一键拉取全量仓库代码到对应的分支。 支持编辑个人远端地址和个人远端分支。
单击“一键出包”,选择对应产品。
在组件列表勾选需要出包的组件。
单击“下一步:出包”,出包会显示进度条,出包成功之前请勿执行其他操作。
说明:
一键仓库部署和获取全量代码只能拉取有权限的仓库,只要有一个组件仓库拉取成功,则表示操作成功,未能成功拉取的仓库可查看“仓库日志”确认原因。
如果出包失败,仓库管理右侧的“构建日志”列会展示出包失败的日志,可下载全量日志到本地进行分析。
如果出包成功,仓库管理右侧的“固件信息”列会展示出包信息,单击“下载”将固件包下载到本地。
固件包仅保留三天,失效后将无法下载。
“一键仓库部署”和“获取全量代码”的日志将展示在仓库日志中。
代码预览
使用代码预览功能,可在工具界面预览各文件的代码,同时支持在预览界面直接修改并保存代码。
- 选择需要查看代码的文件。
- 单击页面右侧的“代码预览”按钮。
- 界面右侧展示对应文件的代码。
说明:
如需搜索代码内的关键字,请将鼠标选中代码框内的任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。 DDS文件不支持编辑保存。
模型检查
BMC Studio支持模型的可视化配置,模型与模型之间存在配套关系,通过此功能可以检查出模型之间不一致的错误,并给出告警提示。
说明:
工具根据默认的检查规则,检查指定的模型。
如果错误级别未定义或取值不符合规范要求,无法勾选“CSR扩展规则检查样例”。
在工具首页单击右上角“模型检查”按钮。
进入“模型检查”界面。
选择想要检查的规则。
单击右上角“开始检查”按钮。
工具将根据已有的检查规则,检查各模型一致性。
检查结束后,可在“检查结果”页签查看检查详情。参数说明请参考如下:
- 规则ID:检查规则的ID。
- 所属模型:可筛选需要展示的报错模块。
- 错误提示:具体错误原因。
- 错误影响:错误的影响。
- 修复建议:具体的修复建议。
- 告警等级:可筛选展示的高级等级。“严重”,“一般”,“提示”。
- 产生时间:最后一次检查结果的时间。
单击右上角“导出”可将检查结果导出至本地。
常用操作
查看修改
使用“查看修改”功能,可将修改前和修改后的数据进行比对,同时支持在预览界面直接修改并保存代码。
说明:
仅支持比对最近一次保存前后的数据。
选择操作模块。
单击左上角“查看修改”的按钮。
选择目标文件,比对修改前后的数据。
- 如需搜索代码内的关键字,请将鼠标选中需要搜索的代码框内任意位置,使用Ctrl+F,输入关键字搜索。代码内存在多个相同的关键字时,可使用Ctrl+G跳转。
- 勾选“统一缩进查看”,可统一缩进格式,便于查看。
- 如需编辑数据,请单击右上角“编辑”按钮,编辑完成后,单击“保存”。
撤销删除文件和撤销修改
CSR配置、资源协作接口、接口映射均支持撤销删除文件和撤销修改,MDS仅支持撤销修改。
注意:
撤销不会有弹框再次确认,单击”撤销“后,工具将直接执行撤销操作。
撤销修改后,代码将变为初始拉取的状态。
撤销修改和撤销删除的方法一致,以下以CSR中的文件已被删除,需要撤销删除的操作。
进入CSR操作模块。
在CSR列表上方单击蓝色字体“查看修改"。
选择需要撤销删除的文件,单击后方的“撤销”按钮。如果需要批量撤销,可勾选需要操作的文件,单击最上方的“撤销”按钮进行操作。
侧边栏
BMC Studio 目前有侧边栏,可以实现 openubmc.cn 常用链接的跳转。 五个图标从上到下分别是:
卸载BMC Studio
在 linux 命令行中执行以下命令可卸载BMC Studio。
dpkg -P bmc-studio