今晚试着刷一份 coreboot 进去,结果直接启动不了,然后发现我的备份居然是有问题的(估计是当时备份的时候夹子出问题了,因为今晚刷coreboot的时候备份出来的东西是bootblock完整的),然后我就尝试了使用 HP Sure Start 恢复,居然成功了。
刚才根据Sure Start的一些资料,分析了一下从laboneinside下载下来的BIOS和EC,发现EC的确有一份完整的PEI和bootblock,除此之外还有IFD和GbE区域,布局如下:
0x2000:0x4fff IFD(4K)+GbE(8K)
0x14f000:2fffff PEI(0xAF000)+bootblock(8K)
那么剩下了 1M 多的空间,应该还能放不少东西,因为 EC 固件一般也就做到 64K 左右。
刚才看了 EC 固件里的字符串,发现还有 microcode,于是用 UEFITool NE 看了一下,发现 BIOS 里面的微码都在 EC 的芯片里面。
0xa000:0x24fff ucode
PEI 之前有个 padding 区域,EC 芯片也有。顺便提一下,UEFITool NE 有 Hex view 功能,挺好用的。
0x10a000:0x14efff padding
刚好和 PEI 连着,也就是说:
0x10a000:0x1fffff padding(0x45000)+PEI(0xAF000)+bootblock(8K)
但是MEC1322固件的头部有"CSMS"这4个字符,它的位置在0x11f000,这说明BIOS和EC芯片里面都存在一份MEC1322的固件。
顺便提一下,在 0x10a000之前,EC 芯片里面是一大片 0xff,直到 0x25000 这个位置,看来这 EC 芯片空间浪费不小。
刚才根据Sure Start的一些资料,分析了一下从laboneinside下载下来的BIOS和EC,发现EC的确有一份完整的PEI和bootblock,除此之外还有IFD和GbE区域,布局如下:
0x2000:0x4fff IFD(4K)+GbE(8K)
0x14f000:2fffff PEI(0xAF000)+bootblock(8K)
那么剩下了 1M 多的空间,应该还能放不少东西,因为 EC 固件一般也就做到 64K 左右。
刚才看了 EC 固件里的字符串,发现还有 microcode,于是用 UEFITool NE 看了一下,发现 BIOS 里面的微码都在 EC 的芯片里面。
0xa000:0x24fff ucode
PEI 之前有个 padding 区域,EC 芯片也有。顺便提一下,UEFITool NE 有 Hex view 功能,挺好用的。
0x10a000:0x14efff padding
刚好和 PEI 连着,也就是说:
0x10a000:0x1fffff padding(0x45000)+PEI(0xAF000)+bootblock(8K)
但是MEC1322固件的头部有"CSMS"这4个字符,它的位置在0x11f000,这说明BIOS和EC芯片里面都存在一份MEC1322的固件。
顺便提一下,在 0x10a000之前,EC 芯片里面是一大片 0xff,直到 0x25000 这个位置,看来这 EC 芯片空间浪费不小。