背景
收到一个长得很像Mellanox BlueField-2的网卡,说是BMC密码不知道,无法重置

背面如下

标签(假得不能再假了,用个好点的打印机不行吗。。。)

看看咋回事
首先,这不BlueField-2网卡,而是被砍掉的BlueSphere系列,典型的特征是有一个M.2 2230硬盘位,定位可能是单板host机头,挂存储柜或者什么玩意的。

然后这个卡虽然被刷了BF2的固件,rshim也正常,也能进卡里的系统,但是IPMB是断的!,arm soc和BMC完全失联

无论是开机UEFI的IPMB信息上报,还是进dpu os之后的ipmb驱动,都不正常

那么这个卡的BMC就自闭了,只有网络和串口可以访问到,而且因为不知道密码,网络(ssh或者web)无法登陆。因为这个BMC又没有video,也没法走PCIe之类的通路刷固件
救砖
1. 接个串口
如官方文档https://docs.nvidia.com/networking/display/bluefield2dpuenug/supported+interfaces
30pin的接口,28 30脚是串口

于是接上去就能看到BMC串口打印

2. 密码清掉
这个uboot还有密码,不过也是公开的,是0penBmc

但是uboot shell功能非常有限,就连访问spi flash用的sf命令都没有
经过一番研究,发现这个uboot貌似是XIP,flinfo可以看到两个映射的spi flash

以及启动命令(直接从内存映射的flash地址加载fit image)

看来js忘了把BMC刷掉,哈哈。露出了bluesphere的本体
回到正题,密码怎么清呢?这里可以了解一下openbmc
openbmc分为fit image,rofs,rwfs三部分。fit image就是内核+dtb+initrd,rofs就是只读的文件系统,rwfs就是可读写的文件系统。启动之后rwfs会挂载成overlay分区
而且如果rwfs挂载失败,openbmc会自动创建新的rwfs
所以只需要把rwfs erase掉就行了。那么rwfs在哪呢

结合启动后的mtd log。可以看到第一个flash放了uboot kernel rofs。第二个flash放了uboot env和rwfs。那么直接把第二个flash格掉

擦了一半疑似被看门狗重启了,不过问题不大
下一次开机就会自动创建rwfs了。然后用root/0penBmc即可登录
登录后SOL可以正常使用,访问dpu os
