hi James,
I've built working upstream coreboot images for both APL and GLK Chromebooks (reef and octopus boards respectively).
Starting with a recovery image for the board you're working with, you'll need to extract the ifwi.bin, vbt.bin, fspm.bin/fsps.bin (GLK only; APL can use 3rdparty fsp repo), CPU microcode, and all audio/dsp blobs. use cbfstool for this. Then you'll need to set your config to use the extracted blobs / place them in the expected locations, set display init to FSP/GOP, and set the payload to Tianocore. Here's my defconfig for google/ampton (GLK) as an example:
CONFIG_VENDOR_GOOGLE=y CONFIG_NO_POST=y CONFIG_IFD_BIN_PATH="3rdparty/blobs/mainboard/google/ampton/flashdescriptor.bin" CONFIG_BOARD_GOOGLE_AMPTON=y # CONFIG_CONSOLE_SERIAL is not set CONFIG_INCLUDE_NHLT_BLOBS=y CONFIG_INTEL_GMA_ADD_VBT=y CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/google/ampton/vbt.bin" CONFIG_NEED_IFWI=y CONFIG_IFWI_FILE_NAME="3rdparty/blobs/mainboard/google/ampton/ifwi.bin" CONFIG_HAVE_IFD_BIN=y CONFIG_ADD_FSP_BINARIES=y CONFIG_FSP_M_FILE="3rdparty/blobs/mainboard/google/ampton/fspm.bin" CONFIG_FSP_S_FILE="3rdparty/blobs/mainboard/google/ampton/fsps.bin" CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS=y CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/soc/intel/glk/cpu_microcode_blob.bin" CONFIG_LOCK_MANAGEMENT_ENGINE=y CONFIG_PAYLOAD_TIANOCORE=y
APL would be almost the exact same, but without the 3 FSP-related lines.
cheers, Matt
On Fri, Jun 18, 2021 at 11:13 AM James Feeney james@nurealm.net wrote:
Back in 2017 there was some brief discussion of how to compile coreboot for apollolake, with some uncertainty about the IFWI segment. Does anyone know the current status of coreboot support for apollolake/geminilake? In particular, to replace a Chromebook boot rom?
The coreboot configuration options are confusing in the sense that the intended outcome of particular settings is not explained. For instance, there is coreboot code compiled addressing the Intel FSP, but there are no FSP files generated in the resulting coreboot.rom.
Working from a Chromebook bios upgrade image, it seems that many components might simply be copied from there, but then, there seems to be no tool to extract the complete IFWI segment from an existing bios image, except in pieces that would require reassembly. Is there some way that an existing IFWI segment can be extracted and used in another compiled coreboot image? Or, is there "security" code in the IFWI segment that will prevent a compatible working coreboot rom built in this way?
James _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org