BMC Studio 是一款可视化的配置工具,用于辅助 BMC 进行灵活定制。支持配置 CSR、资源协作接口、MDS、接口映射,同时也支持在线调试、板卡定制、原生开发、接口定制以及一键出包等功能。
简介
BMC Studio分为“开发任务”和“操作模块”两个板块,您可以在首页单击“切换视图”进行切换。
操作模块
- CSR配置:CSR描述了板卡上的具体组成结构,包括链路拓扑和器件描述信息,记录板卡的静态硬件信息。
- 资源协作接口配置:支持从系统视角对BMC软件管理功能的抽象定义,包含接口和路径的定义,先定义接口,再使用路径实现这个接口。
- MDS配置:APP的模型描述文件,定义APP如何管理资源协作接口和具体存在的私有属性。
- 接口映射配置:支持定义接口请求与资源协作接口的对应关系、接口及属性的校验信息、属性执行映射的前置与后置处理等。
开发任务
- 板卡定制:支持对新增的板卡器件进行定义以及对已有板卡的器件适配。
- 原生开发:支持开发新的APP功能。
- 接口定制:支持定制北向接口和对Redfish、WebREST、CLI、SNMP接口映射配置的新增、修改和删除。
- 编译构建:上传工具生成的CSR文件,对接编译服务器,实现一键编译出包。
- 仿真验证:支持管理Qemu设备和BMC设备,并提供了在线调试接口和查询数据库的功能。
安装与启用 BMC Studio
环境准备
BMC Studio 需要在 Ubuntu24 环境上运行,使用前须先搭建环境,请用户根据使用的操作系统,参考“环境准备”对应章节进行环境搭建。例如:本地使用 Windows 开发环境,请参考“Windows 开发环境搭建”。
说明:
如果本地环境已搭建完成,可跳过此操作。
操作过程中需要使用 git 和 bingo 工具,请确保本地已安装。
运行环境
操作系统:Ubuntu 24.04。
安装方式
本文提供三种安装 BMC Studio 的方式:“自动升级与安装”、“通过 apt 源手动安装仓颉工具链和 BMC Studio”、“通过应用市场安装”。
自动升级与安装
目前通过 manifest 初始化工作环境时,会自动安装 BMC Studio。
如果本地已存在 BMC Studio 工具,可执行以下命令将工具升级到最新版本。
bingo upgrade通过 apt 源手动安装仓颉工具链和 BMC Studio
执行以下命令检查本地是否已配置 apt 源:
bashsudo apt update apt policy openubmc-bingo如果出现以下输出,表示 apt 源已配置完成,可直接执行步骤 5。
如果未出现以下输出,表示未配置 apt 源,请执行步骤 2-步骤 5。
bashopenubmc-bingo: Installed: 0.0.1 Candidate: 0.0.1 Version table: 0.0.1 500 500 https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu noble/main amd64 Packages
下载 GPG 公钥
安装 gnupg。
bashsudo apt update && sudo apt install gnupg安装 GPG 公钥。
(方式一)直接下载 GPG 文件安装
指定下载公钥的位置。
bashsudo mkdir -p /etc/apt/keyrings下载 GPG 文件。
bashwget -O- https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu/gpg_key.public | sudo gpg --dearmor -o /etc/apt/keyrings/openubmc.gpg
(方式二)通过公钥服务器下载
指定下载公钥的位置。
bashsudo mkdir -p /etc/apt/keyrings下载 GPG 文件。
bashgpg --keyserver keyserver.ubuntu.com --recv-keys BF3B2D407FDEDEA0DC91CC9412640FBCB175287A gpg --export BF3B2D407FDEDEA0DC91CC9412640FBCB175287A | sudo tee /etc/apt/keyrings/openubmc.gpg >/dev/null
配置 apt 源。
bashecho "deb [arch=amd64 signed-by=/etc/apt/keyrings/openubmc.gpg] https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu/ noble main" | sudo tee /etc/apt/sources.list.d/openubmc.list验证APT配置。
bashsudo apt update apt policy bmc-studio安装仓颉依赖包和 BMC-Studio deb 包。
bashapt remove bmc-studio apt install cangjie-runtime apt install bmc-studio
通过应用市场安装
进入 openUBMC应用市场,在“开发工具”模块下。选择“BMC Studio”。
在 BMC Studio 下载页面,单击右侧“立即下载”按钮,将 BMC Studio 软件包下载到本地。
根据该页面的安装指引安装 BMC Studio 即可。
启动 BMC Studio
- 如果您有 BMC Studio 插件,直接点击插件即可在 VS Code 中启动 BMC Studio。
如果您有 bingo,执行以下命令,即可启动 BMC Studio。(此方法需要 bingo 版本大于等于0.5.238)
bashbingo studio如果您使用的是 wsl 系统,可以直接在浏览器中看到 BMC Studio 的前端页面。
如果您使用的不是 wsl 系统,需要在浏览器中手动输入后端日志显示的该地址(视您的系统环境而定)
如果您想使用 BMC Studio 本身的启动方式,请参考以下命令。
bash/usr/share/bmc_studio/bmc_studio.sh start /usr/share/bmc_studio/bmc_studio.sh start backend(后台启动)
常用命令
通过 bingo 执行的常用命令:
启动 BMC Studio:
bashbingo studio停止 BMC Studio:
bashbingo studio -stop重启 BMC Studio:
bashbingo studio -restart
通过 BMC Studio 执行的常用命令:
启动 BMC Studio:
bash/usr/share/bmc_studio/bmc_studio.sh start /usr/share/bmc_studio/bmc_studio.sh start backend(后台启动)停止 BMC Studio:
bash/usr/share/bmc_studio/bmc_studio.sh stop重启 BMC Studio:
bash/usr/share/bmc_studio/bmc_studio.sh restart
安装与使用BMC Studio 插件
使用前准备
进入openUBMC应用市场,在“开发工具”模块中下载 BMC Studio 安装包(
.zip格式),并将下载的安装包解压,获得.vsix文件。确保本地已安装 VS Code(全称:Visual Studio Code,以下简称:VS Code),且已经通过 Remote 插件连接到开发使用的 Ubuntu/docker 环境。
环境要求
BMC Studio 需要在 Ubuntu24 环境上运行,使用前须先搭建环境,请用户根据使用的操作系统,参考“环境准备”对应章节进行环境搭建。例如:本地使用 Windows 开发环境,请参考“Windows开发环境搭建”。
安装插件
通过 VS Code 安装插件。
打开 VS Code,参考下图步骤操作。
选择
.vsix文件存放路径,安装插件。说明:
选择前,请先确定
.vsix文件存放的操作系统,Windows 或 wsl。安装完成后重启 VS Code 生效。
在 WLS 开发环境中安装插件。
根据实际情况在 Ubuntu 或 Linux 环境下,执行以下命令进行安装(“xxxxxx”表示
.vsix文件的存放路径)。bashcode --install-extension xxxxxx
安装和使用工具
在 VS Code 打开已安装的 BMC Studio 的插件。
插件将会自动对环境进行检测,查询是否安装 BMC Studio 和 Qemu。
如果检测到环境中未安装工具,请执行以下步骤3~步骤7安装和启动。
如果检测到环境中已安装工具,插件将会自动启动 BMC Studio。
说明:
如果当前安装的工具非最新版本,您可以单击界面上的“一键更新”升级工具版本,也可以直接使用当前的旧版本。
单击“一键安装工具”,弹出“使用协议”相关弹框。
勾选“同意《BMC软件许可协议》协议”,单击“继续安装”。插件将开始下载并安装您缺失的工具和依赖。安装时间根据网络情况,预计在1~10分钟不等。
(可选)如果下载时间过长,您可以在 VS Code 上方导航栏中选择“终端 > 新建终端”,在新建的终端中选择“输出”,右侧下拉框选择“Debug Logs”,打开日志查看是否报错,如果存在报错,请根据日志的实际情况处理。
安装成功后“一键安装工具”的按钮变为“开始使用”。
单击“开始使用”,即可启动 BMC Studio。
插件实时模型检查
BMC Studio 启动后,在 VS Code 中编辑 CSR 文件或任意 BMC Studio 工作空间内的 MDS、资源协作接口、映射接口文件,保存后会触发插件进行模型检查。检查完成后,在控制台窗口会显示检查结果,查看检查结果操作如下:
插件双屏显示
BMC Studio 插件支持双屏查看文件的能力。在打开一个 .sr 或 .json文件后,vscode 右上角会出现这个图标。点击该图标,即可启动 BMC Studio 双屏模式。
双屏模式中,插件会使用 BMC Studio 打开该 .sr 或 .json 文件,然后展示在插件页面里。
插件在线调试
前置条件:
BMC Studio 版本不低于1.2.0。
BMC Studio 插件版本不低于0.0.5。
Qemu 已安装。
开发环境初始化过程会安装 Qemu,无需手动安装。
在线调试:
在线调试的具体流程,请参考Qemu设备管理使用指南。
卸载插件
安装了插件后,可以在 vscode 的扩展页面的“已安装”一栏中看到 BMC Studio 插件。按图中顺序点击。
点击图中的“卸载”按钮即可完成卸载。
仓库部署
以下视频介绍了BMC Studio 仓库部署操作指导,通过该视频您可以详细了解仓库部署的具体步骤,从而有效提升BMC Studio的部署效率。
配置工作空间
首次使用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首页,单击右上角工作空间名称。
选择需要切换的工作空间。
单击“切换到此空间”。提示“操作成功”表示空间切换成功。
删除工作空间
最多支持创建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配置提交到代码仓。
选择要同步代码的主文件夹,单击“操作”。
选择“同步代码”。
如果提示“代码同步成功”,表示同步代码操作成功。
说明:
如果弹出“代码同步失败”,提示“检测到待同步数据与工具本地数据存在冲突,请通过其它工具解决冲突。
您也可以执行强制覆盖操作,此操作不可逆,存在数据丢失的风险”。建议先通过其他工具解决冲突,再执行代码同步。
适配板卡
适配板卡具体操作流程,请参见板卡适配指南。
CSR出包
支持单个和批量打包CSR。
说明:
批量生成时仅支持下载为HPM包格式。
选择的CSR文件中,必须包含UID,且批量出包中的UID不能重复。
单个CSR打包
模型配置完成后,单击页面右上角“CSR出包”。
参考以下内容,填写出包信息。
- FormatVersion:填写Format的版本。
- DataVersion:填写Data的版本。
- EEPROM大小限制:选择16k或32k。
- OEM定制信息:选填项,请根据情况选择是否上传 OEM 定制信息。上传要求格式为.bin 和 .ini,大小不超过4KB。
- 下载选项:勾选下载生成的格式,可同时勾选多个。支持hpm、二进制bin、json文件。
单击“CSR出包”。生成的CSR将自动下载到本地。如果通过SSH连接了BMC 真机,则还可以选择“出包并升级到BMC”将出的包直接生效到真机环境。
批量CSR打包
批量生成时仅支持下载为HPM包格式。
在CSR列表右上方单击“批量CSR出包”。
勾选需要出包的文件,单击CSR出包。
参考以下内容,填写出包信息。
- OEM共享文件:上传的OEM文件可用于全部CSR出包使用。
- EEPROM大小限制:选择16k或32k。
- OEM文件:为对应的CSR上传OEM文件,上传要求格式为.bin 和 .ini,大小不超过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中产品的配置信息,动态获取仓库配置并完成全量仓库代码的获取。
- 如果有代码变动,会弹框提示是否覆盖代码,
- 如果代码未变动,不会提示覆盖代码,但会做代码检查。
- 获取全量代码:一键拉取全量仓库代码到对应的分支。支持编辑个人远端地址和个人远端分支。
单击“一键出包”,选择对应产品。
在组件列表勾选需要出包的组件。
单击“下一步:出包”,出包会显示进度条,出包成功之前请勿执行其他操作。
说明:
一键仓库部署和获取全量代码只能拉取有权限的仓库,只要有一个组件仓库拉取成功,则表示操作成功,未能成功拉取的仓库可查看“仓库日志”确认原因。
如果出包失败,仓库管理右侧的“构建日志”列会展示出包失败的日志,可下载全量日志到本地进行分析。
如果出包成功,仓库管理右侧的“固件信息”列会展示出包信息,单击“下载”将固件包下载到本地。
固件包仅保留三天,失效后将无法下载。
“一键仓库部署”和“获取全量代码”的日志将展示在仓库日志中。
BMC Studio SSH 连接功能操作
本章节主要介绍如何使用BMC Studio SSH的连接功能。
使用前准备
- 软件:请安装最新版本的BMC Studio工具。
- 硬件:请准备一台可远程访问的服务器,并提前获取服务器的IP地址、端口号、用户名和登录密码。
使用须知
BMC Studio仅支持保持一个活跃连接,如果新建SSH连接或重新连接另一个设备,之前的会话将会被断开。
为确保设备信息安全,离开设备时,请主动断开连接。
创建SSH连接
在BMC Studio首页,单击右上角第一个图标“仿真管理”按钮,进入“接入设备管理”界面。
在“BMC设备管理”区域单击“+新建设备”。
填写设备的IP地址、端口、用户名和密码。
单击“确定”,完成设备认证。认证成功后,新建的设备会展示在BMC设备管理区域下。
连接管理
重新连接会话
在“BMC设备管理”区域下的设备列表中,选择需要重新连接的会话。
确认设备处于未连接状态,操作列将展示“连接”和“删除”。
单击“连接”按钮,输入对应设备的密码。
说明:
基于安全考虑,BMC Studio不会自动保存设备密码,涉及密码处均须手动输入确认。
断开当前连接
在“BMC设备管理”区域下的设备列表中,选择需要断开连接的会话。
确认设备处于连接状态,操作列将展示“取消连接”和“删除”。
单击“取消连接”按钮,等待“取消连接”按钮变为“连接”时,断开成功。
删除设备配置
在“BMC设备管理”区域下的设备列表中,选择需要删除的会话。
单击“删除”按钮,删除成功后会清除当前设备的全部缓存信息。
连接状态说明
- 绿灯:表示设备已连接,可执行断开或发送命令操作。
- 灰标:表示设备未连接,可执行新建连接或重新连接操作。
板卡适配指南
本章节主要介绍如何适配板卡。
使用前准备
已安装bingo工具。
BMC Studio工具能正常启动。
已创建工作空间并进行一键仓库部署或手动导入业务组件的
MDS文件、vpd、mdb_interface和rackmount代码仓到工作空间。
拓扑视图化
当前将CSR页面划分为“管理视图”,“业务视图”和“告警事件”三大板块,大大提升了配置页面的易用性。
板卡适配
在BMC Studio首页,选择CSR,进入CSR配置界面。
在vpd仓库进入
vendor/Huawei/Server/Kunpeng/openUBMC路径,选择root.sr文件。将LM75芯片拖拽到I2c_8上。
拖拽完成后,单击M75芯片上方的扳手图标,配置参数,鼠标停在对应字段的"?"图标上即可查看字段类型和描述。
- 配置基本信息:填写“器件别名”,并自定义
properties中的Address、AddrWidth、OffsetWidth参数。
- 配置传感器读数:按照属性进行配置,选择
Scanner,配置“名称”、“偏移”、“长度”、“掩码”、“扫描周期”,配置完成后,单击“操作”列下的“保存”按钮。
- 配置基本信息:填写“器件别名”,并自定义
选择业务视图,进入软件对象配置页面。
单击左上角“+新增”按钮,弹出“新增功能器件”窗口。
搜索
Entity,并进行配置。新增
ThresholdSensor进行配置。- 对于需要使用动态应用的场景,在下拉框中选择动态引用,并关联到对应的对象。
- 对于需要使用数据同步的场景,在下拉框中选择数据同步,并关联到对应
Scanner的value值。
配置完成后,在管理视图中单击“查看代码”,即可查看新增CSR配置的内容。
CSR拓扑配置
以下视频介绍了 BMC Studio 的 CSR 拓扑配置操作指导,通过该视频您可以详细了解 CSR 拓扑配置的具体步骤,从而快速和准确配置CSR文件。
CSR可视化配置
在BMC Studio首页,选择CSR,进入CSR配置界面。
新增组件,模板选择"RiserCard",具体操作方法可参考“配置CSR模块”章节。配置CSR模块
添加“I2c总线”。
将器件和连接器拖拽到总线上或9545芯片的不同
channel上,创建拓扑并进行配置,配置完成后,拓扑和Riser卡拓扑图一致。说明:
如果需要将总线传到Connector中,可以拖拽总线连接到Connector。
将光标移动到总线上,并单击红色叉号,可以删除这条传入的总线。
单击右侧“查看代码”可查看生成的CSR内容。双击框图的空白处配置板卡对象
RiserCard_1。在页面上方选择“业务视图”配置
Chip_MCU和MCU升级的对象。配置
Eeprom_IEU并在业务视图中配置SRUpgrade_1对象,由于SRUpgrade_1对象的WriteProtect需要从Pca9555芯片获取,因此需要在pca9555芯片上配置读取器Scanner类型对象。
事件定制
以板卡适配中配置Riser卡电源失效事件为例:
配置事件前,需先配置要关联的组件,当前组件为Riser卡,如果配置Riser卡的电子标签信息和部件信息,需要在业务视图中完成Fru_IEU对象和FruDate_IEU对象的配置。
说明:
Fru_IEU对象的每个属性的配置描述可以参考板卡适配中“对象配置 > fru类”中的Fur。FruData_IEU对象的每个属性的配置描述可参考板卡适配中的“对象配置 > fru类”中的FruData。
在CSR配置页面选择“告警事件”,并选择需要配置的告警项。
对内容进行配置,Reading字段取值可以从Scanner对象获取。
创建事件需要关联
Component,在事件配置中选择Component配置关联。如果需要配置新的事件告警,可以在页面右上角选择自定义添加,手动配置告警。
EvenKeyld需要手动配置,告警信息和修复信息分别支持10个参数。
CSR事件告警配置
以下视频介绍了 BMC Studio 的 CSR 事件告警配置操作指导,通过该视频您可以详细了解 CSR 事件告警配置的具体步骤,从而快速配置一个事件精细化告警。
告警可视化配置
告警事件页面支持查看现有告警定义及告警描述信息,同时也可以直观查看当前板卡中已配置的告警内容。
说明:
特性需要较高版本的社区vpd仓,对于历史版本的工作空间,可以手动下载社区vpd仓库中vendor路径下的event_def.json文件,放在工作空间中的vpd/vendor路径下。
支持从预定义模板添加现有事件,添加事件自动关联事件ID和类型。
Qemu设备管理使用指南
本章节主要介绍如何管理 Qemu 虚拟机。
使用前准备
安装 Qemu
- 使用 VS Code 插件安装。具体操作方法请参考BMC Studio插件使用说明。
准备镜像文件
通过 openUBMC 应用市场下载预制镜像:在“Qemu设备管理”配置虚拟机参数时,仿真镜像来源选择“应用市场”。
本地下载:单击Qemu镜像,下载对应版本的镜像文件到本地(镜像文件通常以
.cpio.gz为后缀)。
配置 Qemu 虚拟机
在 BMC Studio 首页,单击右上角“仿真管理”按钮,进入“接入设备管理”界面。
在“Qemu设备管理”区域单击“配置”。
参考以下内容设置虚拟机参数。
参数 参数说明 机型 自定义标识名称,例如: MyUbuntuVM模拟环境CPU核心数 分配的计算核心(建议 ≤ 物理核心数),例如: 2模拟环境内存 分配的内存(单位:GB),例如: 4仿真镜像来源 选“应用市场/Ubuntu镜像/本地文件”,例如: ubuntu-22.04.iso网络端口 设置 SSH/HTTPS/IPMI/SNMP 访问端口,例如: SSH:2222说明:
仿真镜像来源:
- 应用市场:连接 openUBMC 应用市场自动预装系统的官方镜像。
- 本地镜像:需要提前上传至 BMC Studio 的镜像目录。
- Ubuntu镜像:如果您已经通过“应用市场”预装了镜像或通过“本地镜像”方式上传了镜像,可选择此项。
- 应用市场:连接 openUBMC 应用市场自动预装系统的官方镜像。
启动和使用虚拟机
启动虚拟机的操作方法如下:
在 BMC Studio 首页,单击右上角第一个图标“仿真管理”按钮,进入“接入设备管理”界面。
在“Qemu设备管理”区域选择虚拟机,单击“启动”,启动时间预计需要3~5分钟左右。
等待状态显示为蓝色时,表示启动成功。启动完成后,相关参数含义请参考以下内容:
参数 参数说明 重新启动 重启虚拟机 停止 强制关闭虚拟机。长时间不使用虚拟机时,可以使用此功能释放CUP/内存 连接 通过 SSH 终端访问(需配置端口) BMC登录 通过浏览器访问仿真 BMC 设备 Web 图形界面
说明:
删除虚拟机的配置不会清除镜像文件。
虚拟机仿真文件配置
本功能在 QEMU 未启动时,只能进行修改操作,无法生效到 QEMU。如果要生效到 QEMU,请在 QEMU 启动时保存修改。
- 在BMC Studio首页,单击右上角第一个图标“仿真管理”按钮,点击上方“仿真文件”进入界面。在此页面,可以对文件进行任意修改。
2. 修改好文件后,点击下方“保存”和“取消”分别可以将修改的配置保存并生效到 QEMU 或放弃。 3. 可以通过点击下方“修改对比”按钮检查修改的部分。如果确认无误,可以点击“确定修改”保存并生效到 QEMU。也可以点击“退出对比”继续修改。
在线调试接口
前置要求:
- BMC Studio 版本不低于1.2.0
- BMC Studio 插件版本不低于0.0.5
- Qemu 已安装
通过 BMC Studio 结合 Qemu 进行代码调试
在已经建立 Qemu 连接的情况下,可以配合 BMC Studio 的 Vs Code 插件实现代码调试功能。请确保 BMC Studio 插件已安装,且 BMC Studio 已连接到 Qemu,否则调试按钮不会在 Vs Code 页面出现。
通过 VsCode 在 openUBMC 的组件代码仓下打开新窗口。
以北向接口定制开发为例:
打开 rackmount 文件夹。
打开任意北向接口定制文件,即可在右上角看到两个图标,分别是文件级调试和组件级调试。
单击“文件调试”按钮,文件会自动生效到 Qemu,并重启对应子系统进程。等待进程重启完成后即可连接 Qemu 查看调试结果。
单击“组件调试:按钮,BMC Studio 会自动进行一次 bingo build 操作,并将 conan 制品中的文件替换到 Qemu 环境中,重启对应子系统,该方式适合代码修改涉及多个文件,或者修改C语言代码的情形。
修改 web_backend 的接口,并启动调试。以 Login 接口的版权信息为例,修改后点击单文件生效。
等待 interface 进程重启完毕。
重启后,接口信息会发生更改。
选择组件调试,由于需要编译组件,时间会稍微长。
等待子系统重新拉起,此时耗时可能更长。
组件调试完成,页面发生变化。
通过 BMC Studio 进行 Qemu 或者真机环境的资源协作接口和数据库调试
除了代码调试能力外,BMC Studio 的 Web 页面支持对资源协作接口进行可视化查看和调试,以及对数据库信息进行查询,具体如下:
连接到任意 Qemu 环境或者真机环境
连接到 BMC 环境后,选择右上角的仿真调试。
资源协作接口查看与调试。
由于组件数量较多,资源协作接口会在后台持续按照组件更新,可以点击刷新按钮刷新。
以资源
/bmc/kepler/Managers/1/BMC为例,根据路径找到对应资源,点击后即可展开资源详情,内容按照接口进行折叠。
资源协作接口属性实时修改
BMC Studio 基于 mdbctl 命令封装了属性设置功能。
单击属性框即可修改属性,修改完成后点击其他任意处,属性修改会自动生效,例如:将 openUBMC 改为 MyBMC。
修改完成后,即可进入命令行或者页面查看资源协作接口的修改结果。页面变化如下:
说明:
部分不在 mdbctl 命令支持范围内的对象不支持修改属性,修改后不会生效。
RPC一键调用
BMC Studio 简化了 RPC 调用过程,开发者只需要关注调用参数即可,无需关心完整命令的拼接,我们会帮您自动完成。调用参数操作方法如下:
- 展开接口。
- 单击选择需要调用的 RPC。
- 在参数框中输入参数信息。
- 单击右侧调试按钮,将会自动将下方拼接好的命令在 BMC 环境上执行,并返回结果,结果内容与命令行调用一致。
通过 BMC Studio 插件进行仿真调试
使用 VS Code 打开一个代码仓,页面右上角会出现“仿真调试”按钮。
单击“仿真调试”的按钮就可以进行和 BMC Studio 相同的仿真调试功能。
数据库信息查看
- 单击仿真调试窗口上方的数据库页签即可查看全部组件的数据库信息。每个组件下的数据库按照不同的持久化类型分类。
- 单击对应的表即可查看数据表内容。
代码预览
使用代码预览功能,可在工具界面预览各文件的代码,同时支持在预览界面直接修改并保存代码。
- 选择需要查看代码的文件。
- 单击页面右侧的“代码预览”按钮。
- 界面右侧展示对应文件的代码。
说明:
如需搜索代码内的关键字,请将鼠标选中代码框内的任意位置,使用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