frudata在storageType为EepromV2时,fru文件的格式有什么要求


有个fru_check_and_fix_eeprom_fru_head的函数,会去读这么一个header,然后写入“FRU”四个字符。这个eep头是什么啊,fru规范没有这个东西吧
local FRU_HEADER_TAG <const> = '0x4652550'

设计当中是有一个天池头概念,可以联系pae获取具体格式,如果Eeprom为空,他会自动写入一些内容

天池头这个概念我知道,前128个字节为天池头,后面才是fru的内容。但是现在我用的EepromV2这个格式,他写入fru的offset是0,不是128。,应该不一样的


我今天用0x30 0x90 0x04的命令手动去写入,解析写入eep的内容,发现这个蓝色选中的部分就是fru规范的内容,前面多了8个字节。请问这8个字节在ubmc中如何定义的?

这个是eepromv2类型的电子标签,前8字节是头,后面就是电子标签数据。

这个是hw自定义的电子标签规范,目前版本应该是4.0,头是固定的,前8字节是头,后面就是电子标签数据。

请问这个具体的规范定义在哪能看到呢?前三个字节是字符“FRU”的ASCII,后面的好像是动态的吧?

后来试了下好像这个头只要前三个字节是FRU的ASCII码就行了,后面剩下的5个字节补0。
用网上fru工具生成出来的规范格式文件,在最前面补上8字节头就能正常解析了。

不过我是用BlockIO接口向Eeprom写入的,实际用ipmitool fru write 的命令还是不行,不知道写入这边还存在什么限制。

还有个问题是重启BMC,BMC在读取Eeprom的数据后会去清空,导致下一次重启读出来是空的。目前是通过手动加写保护解决,BMC只能读,不清楚为什么会有这个清除的动作。