01-25-2018, 10:18 PM
交了个patch让ectool从/proc/ioports读EC的端口。
Dell的机器有个bug,用ectool读了EC之后,rfkill状态无法切换了。
07-23-2018, 10:10 PM
版主,我现在在用coreboot作BIOS,请问coreboot编译的ROM应该怎么嵌入FITC做的flash镜像中?是作为BIOS分区的镜像么?
有没有一个学习的文档可以提供给学习一下,目前对Intel平台的启动流程还不熟,看SPI FLASH PROGRAM GUIDE中描述对SPI的内容是有严格定义的。 (07-23-2018, 10:10 PM)hehuiim 提到: 版主,我现在在用coreboot作BIOS,请问coreboot编译的ROM应该怎么嵌入FITC做的flash镜像中?是作为BIOS分区的镜像么? FITC是什么?编译出来的coreboot.rom里面,末尾的CBFS是固件的程序和数据,它是要直接写进flash的。对flash的读写一般使用flashrom,读出来的是flash存放的数据,写入的是文件里的数据,不会对数据进行任何变换。 Intel平台的flash布局是开头有Intel Flash Descriptor(IFD)说明flash里的每个区域有什么,PCH要识别的有ME固件、GbE配置信息和BIOS部分。 coreboot社区对它的一般做法是原厂固件的IFD、ME和GbE部分不动,只把coreboot的CBFS写到flash末尾,最后用ifdtool修改IFD用于解锁、修改每个区域的大小。
07-24-2018, 10:07 AM
(07-23-2018, 11:32 PM)vimacs 提到:感谢回复,descriptor这个我有了解了,这边定义了各个区域的大小,位置,权限等等。。。(07-23-2018, 10:10 PM)hehuiim 提到: 版主,我现在在用coreboot作BIOS,请问coreboot编译的ROM应该怎么嵌入FITC做的flash镜像中?是作为BIOS分区的镜像么? 我不清楚的是coreboot.rom是替换其中的哪个域?是BIOS域吗?按你说的是替换原先的BIOS部分?而且不是整个coreboot.rom替换,只是替换CBFS? 另外coreboot社区是否有这部分的具体说明呢?刚接触不是太了解,如果社区有各类说明文档能否帮忙给下链接,我自个学习即可。谢谢!! 另外FITC是intel提供的flash image tool,用来将ME/FD/BIOS等固件整合成整个flash镜像的工具。
07-24-2018, 11:02 AM
(07-24-2018, 10:07 AM)hehuiim 提到: 感谢回复,descriptor这个我有了解了,这边定义了各个区域的大小,位置,权限等等。。。 coreboot只有BIOS部分的代码,这部分是CPU执行的。对于x86,固件是放在flash末尾的(对于Intel平台实际上是BIOS部分的末尾,但一般来说是一样的)。coreboot对固件所有的组成部分(bootblock,romstage,ramstage,payload,各种数据)做了个简单的组织形成了CBFS,整个CBFS就是固件的内容。我们只要把CBFS放到BIOS部分的末尾就好了。 由于coreboot社区移植的大部分主板都不是出厂就用coreboot的机器,里面有自带的IFD、ME、GbE的部分,因此一般的做法是把它们和coreboot.rom拼在一起形成一个新的镜像。例如Lenovo X220的原厂固件有8M,其中IFD+ME+GbE有5M,这样构建coreboot的时候,CBFS至多有3M(实际上2M在大多数情形下就够了),构建出coreboot.rom后,用 dd if=factory.rom of=build/coreboot.rom bs=1M count=5 conv=notrunc 把原厂固件的IFD,ME,GbE写进coreboot.rom的前5M. 另一种方法是把IFD,ME,GbE都提取出来,在配置的时候指定。 https://www.coreboot.org/Intel_Sandybrid...d_Tutorial 如果FITC是把各种成分整合成一个可以直接刷进flash的镜像的话,那么这个镜像实际上和用编程器读写用的镜像是一样的。
07-24-2018, 11:43 AM
(07-24-2018, 11:02 AM)vimacs 提到:(07-24-2018, 10:07 AM)hehuiim 提到: 感谢回复,descriptor这个我有了解了,这边定义了各个区域的大小,位置,权限等等。。。 非常感谢,学习了,实际上就是用coreboot.rom替换掉原先其他厂家用UEFI写的BIOS镜像,其他ME,GBE或者LAN之类的保持不变即可。我先把你给的coreboot网站中连接过一遍。 有一点再请教下,对intel的FSP是否有了解使用呢?我前几天看了下coreboot,menuconfig中配置部分板子支持FSP2.0,我打开了功能后设置了FSP-T/M/S三个镜像对应的路径和CBFS的文件名即可。这部分涉及到DDR的初始化,比较关心。
07-24-2018, 12:48 PM
(07-24-2018, 11:43 AM)hehuiim 提到: 非常感谢,学习了,实际上就是用coreboot.rom替换掉原先其他厂家用UEFI写的BIOS镜像,其他ME,GBE或者LAN之类的保持不变即可。我先把你给的coreboot网站中连接过一遍。 FSP相关的你可以加入coreboot的邮件列表和IRC讨论。https://www.coreboot.org/Mailinglist |
|