模组开发FAQ(开发构建问题持续补充)

模组FAQ

鲲鹏模组openUBMC版本替换原版本

解答模组原有版本及配套版本和openUBMC版本之前兼容或过渡的问题

Q1:如何构建自己的openUBMC版本

A:

openubmc.cn网站上文档中心快速入门中有环境准备,推荐使用docker开发环境Docker开发环境搭建 | 文档中心 | openUBMC

环境准备完毕后参考此文档构建自己的bmc

Q2:如何升级自己构建出来的openUBMC版本

A:

模组自带版本是3.xx.xx.xx版本,升级到openUBMC需要做一些版本兼容上的改动,请参考

Q3:升级后web页面无法访问

A:

更换bmc版本后,原先的ss证书失效,需要重新导入lssl证书,nginx才能够正常启动

中有操作说明
注意时间获取不到需要telnet修改时间导入

Q4:如何生成ssl证书

A:

参考

推荐使用其中的x509v3版本

Q5:使用自己生成的版本,如何升级原版本配套的hpm包(如BIOS、cpld升级包)

A:

签名发生变化,需要对升级包进行签名替换处理

使用自己签名出包参考

签名替换

鲲鹏模组openUBMC版本开发入门

解答第一次参与模组开发,一些模组适配的基本问题

Q1:如何开发适配模组的openUBMC版本

A:

开发鲲鹏模组的openUBMC版本,主要是适配自己的载板和模组(基础板)
首先开发者需要学习如何从vpd中添加板卡
参考板卡适配指南

我们社区的vpd代码中也已经存在了当前几种模组的标准sr以供参考
920:AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台
920s:AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台
920l:AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台

适配后可满足上下电、cpu内存信息显示、升级等基本功能

鲲鹏模组openUBMC版本开发深入问题交流

解答模组开发过程中功能性上遇到的问题

Q1:配置scanner需要读取16字节数据,如何配置

A:

社区学习smcdfx进行配置

Q2:强制重启功能没有效果

A:

可能是cpld不支持配置的命令,默认配置载板cpld(载板是开发这自行适配的)需要实现smc协议,实现对应的命令字

Q3:ipmi 设置cpu内存占用率设置失败

A:

现有线程任务会进行cpu内存占用率的设置,覆盖了ipmi的命令设置

Q4:想要使用GPIO管脚,要如何使用

A:

参考root.sr中的GPIO,配置bus后配置对应的chip对象和accessor对象即可

Q5:9548器件如何配置

A:

配置成pca9545,channel0~7

Q6:部分厂商的flash替换后,bios升级失败

A:

不支持,需要sdk适配对应厂商的flash,可以传递需求

Q7:BMC的mac会变化

A:

出厂时写入的永久的mac地址因为升级到openUBMC版本无法生效,需要通过ipmi命令进行修改

Q8:kvm没有java控制台的选项

A:

在构建中自行添加对应的jar包即可

Q9:bios启动较慢

A:

通常是因为bios使用了openUBMC不支持的命令查询版本信息,导致每次启动需要上传registry文件

Q10:升级openUBMC版本后无法登录

A:

第一次从原版本升级到openUBMC需要出包自带默认账号,参考BMC 3.xx.xx.xx版本升级openubmc指导