最近花了一点时间在rock3a的开发板上移植了openbmc,目前ipmi、ipkvm、虚拟光驱、在线升级等功能均可以正常工作。
硬件: rock3a开发板 + tc358743的HDMI in小板 + PC主板
启动:rock3a 未带emmc,基于sd卡启动,openbmc基于sd卡开发
工程:自定义meta-rockchip加入到openbmc工程
效果:
缺点:
1、由于rock3a 芯片i2c不支持slave模式,因此无法使用SSIF接口代替KCS/BT,也无法使用IPMB与me通信。
2、rock3a无BMC芯片专用的LPC/ESPI接口,因此无法使用kcs/bt、port 80、SIO等功能
3、rock3a无JTAG master接口,因此jtag master只能通过gpio模拟,jtag 时钟频率不稳定,对于部分时钟频率要求比较高的cpld无法进行加载升级(如部分国产CPLD:高云等等)
优点:
1、得益于rock3a的4核A55的cpu,程序运行十分顺畅,实测从上电到启动进入openbmc系统仅需20s(当前是用的SD卡启动,如使用emmc速度会更快)
2、虚拟光驱远程安装系统速度比ast2500快的多。实测局域网内ast2500远程虚拟光驱安装系统,网络速度在30~50Mb/s,而rock3a可达到120~140Mb/s
3、受限于openbmc的VNC只能使用jpeg,带宽只能通过改变视频jpeg的压缩质量来减少带宽,但rock3a支持H264、H265的编码,如果视频流采用其他非VNC协议使用H264编码,10Mb/s带宽的网络流量几乎可达到VNC JPEG压缩 80%压缩质量的效果,而80% JPEG压缩质量需要耗费的网络带宽在40~50Mb/s