本文档主要介绍如何管理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。说明:
应用市场:连接openUBMC应用市场自动预装系统的官方镜像。
本地镜像:需要提前上传至BMC Studio的镜像目录。 Ubuntu镜像:如果您已经通过“应用市场”预装了镜像或通过“本地镜像”方式上传了镜像,可选择此项。网络端口:设置SSH/HTTPS/IPMI/SNMP访问端口,例如:
SSH:2222。
启动和使用虚拟机
启动虚拟机的操作方法如下:
在BMC Studio首页,单击右上角第一个图标“设备管理”按钮,进入“接入设备管理”界面。
在“Qemu设备管理”区域选择虚拟机,单击“启动”,启动时间预计需要3~5分钟左右。
等待状态显示为蓝色时,表示启动成功。启动完成后,相关参数含义请参考以下内容:
- 重新启动:重启虚拟机。
- 停止:强制关闭虚拟机。长时间不使用虚拟机时,可以使用此功能释放CPU/内存。
- 连接:通过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的VsCode插件实现代码调试功能,请确保BMC Studio插件已安装,且 BMC Studio已连接到Qemu,否则调试按钮不会在VsCode页面出现
此时通过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 插件进行仿真调试
使用 vscode 打开一个代码仓后,页面右上角会出现一个仿真调试的按钮。点击它就可以进行和 BMC Studio 相同的仿真调试功能。具体操作和通过BMC Studio进行Qemu或者真机环境的资源协作接口和数据库调试