本文档主要介绍如何管理 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首页,单击右上角第一个图标“设备管理”按钮,点击上方“仿真文件”进入界面。在此页面,可以对文件进行任意修改。
- 修改好文件后,点击下方“保存”和“取消”分别可以将修改的配置保存并生效到 QEMU 或放弃。
- 可以通过点击下方“修改对比”按钮检查修改的部分。如果确认无误,可以点击“确定修改”保存并生效到 QEMU。也可以点击“退出对比”继续修改。
在线调试接口
前置要求:
BMC Studio 版本不低于1.2.0
BMC Studio 最新版本获取方法请参考BMC Studio安装指南。
BMC Studio 插件版本不低于0.0.5
BMC Studio 插件目前需要以文件方式安装,安装过程参考插件文档。
Qemu 已安装
开发环境初始化过程会安装 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 相同的仿真调试功能。具体操作和通过 BMC Studio 进行 Qemu 或者真机环境的资源协作接口和数据库调试。
数据库信息查看
- 单击仿真调试窗口上方的数据库页签即可查看全部组件的数据库信息。每个组件下的数据库按照不同的持久化类型分类。
- 单击对应的表即可查看数据表内容。