On Sat, Jun 19, 2021 at 9:41 AM James Feeney <ja...@nurealm.net> wrote:
>
> Hey Matt
>
> You recommend extracting all audio/dsp blobs, which appears straightforward, 
> but then, how can these blobs be referenced in the .config for inclusion in 
> coreboot?
>
> I only see "Include blobs for audio" with "make nconfig", symbol 
> INCLUDE_NHLT_BLOBS.  Enabling this, the coreboot compile ends with "make: *** 
> No rule to make target 
> '3rdparty/blobs/soc/intel/glk/nhlt-blobs/dmic-2ch-48khz-16b.bin', needed by 
> 'build/coreboot.pre'.  Stop."

I extracted these audio files from the recovery image, and placed them
into the hardcoded path referenced by the makefile, as shown above in
the error.

see: src/soc/intel/apollolake/Makefile.inc around ln 151 for the list
of files needed

>
> How did you include the chromeos recovery image audio blobs into coreboot?
>
> Thanks
> James
>
>
> On 6/18/21 9:16 PM, James Feeney wrote:
> > On 6/18/21 8:25 PM, Matt DeVillier wrote:
> >> `cbfstool <filename> layout` will show the regions in the FMAP, use 
> >> `cbfstool <filename> read -r IFWI -f ifwi.bin` to extract.
> >>
> >> I would use the exact same microcode file as the recovery image; coreboot 
> >> isn't guaranteed to include all applicable cpuids, and APL/GLK seem weird 
> >> about updating in the FIT
> >>
> >> FSP/GOP display init requires the vbt to be included/added, it should be 
> >> an option from the menu.
> >>
> >> vbgfx.bin is only used by depthcharge, it's not needed for any other 
> >> payload.
> >>
> >>
> >
> > Ha!  Many thanks Matt.  That is very useful information, every point!  The 
> > process is so simple, given the proper instructions - and seems 
> > insurmountably opaque without them.  Definitely information that would be 
> > useful to find in the wiki!
> >
> > I'll let you know how it works.
> >
> > James
> >
> >
> >> On Fri, Jun 18, 2021, 8:31 PM James Feeney <ja...@nurealm.net 
> >> <mailto:ja...@nurealm.net>> wrote:
> >>
> >>
> >>     On 6/18/21 11:00 AM, Matt DeVillier wrote:
> >>     > 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
> >>     >
> >>
> >>
> >>     Thanks very much for that.  Hmm - some questions:
> >>
> >>     My chromebook is the google octopus casta bluebird.  Running "cbfstool 
> >> bios-casta.ro-11297-193-0.rw-11297-193-0.bin print" does not show any kind 
> >> of ifwi.bin file.  Running "ifwitool 
> >> bios-casta.ro-11297-193-0.rw-11297-193-0.bin print -d" only gives 
> >> references to the components, those shown with "ifwitool -h", under "NAME 
> >> should be one of:".  That's why I was asking about how to extract an 
> >> ifwi.bin.
> >>
> >>     Did your Ampton recovery image include a distinct "ifwi.bin" file, by 
> >> using cbfstool?
> >>
> >>     I'm building u-boot as the payload, instead of Tianocore, but I don't 
> >> expect that that make any difference.
> >>
> >>     However, "cbfstool build/coreboot.rom print" does show a 
> >> cpu_microcode_blob.bin file, built by coreboot.  I'm guessing that this 
> >> microcode file is as good as the one in the recovery image?
> >>
> >>     The recovery image also has a vbgfx.bin.  I'm wondering if I should do 
> >> something with this?  "make nconfig" fails to offer any gfx settings, 
> >> though several gfx settings can be seen when manually editing the .config.
> >>
> >>     So, I'm stuck trying to understand sourcing this ifwi.bin file.  Any 
> >> suggestions?
> >>
> >>     James
> >>
> >>
> >>
> >>     > On Fri, Jun 18, 2021 at 11:13 AM James Feeney <ja...@nurealm.net 
> >> <mailto:ja...@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 
> >> <mailto:coreboot@coreboot.org>
> >>     >> To unsubscribe send an email to coreboot-le...@coreboot.org 
> >> <mailto:coreboot-le...@coreboot.org>
> >>
> > _______________________________________________
> > coreboot mailing list -- coreboot@coreboot.org
> > To unsubscribe send an email to coreboot-le...@coreboot.org
> >
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to