chromeec: Move EC image hash to separate file in CBFS
The Chrome OS bootloader is changing its EC software sync mechanism to look for the hash of an EC image in a separate CBFS file, rather than using the CBFS hash attribute of the image itself (see http://crosreview.com/348061). This patch makes coreboot generate appropriate hash files for the new format when it builds and bundles a Chrome EC image. This also allows us to compress the EC image itself. Change-Id: I9aee6b8d24cdf41cb540db86a7569038fc7d9937 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/15039 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
committed by
Martin Roth
parent
3fa4350d6a
commit
8e97d00755
@@ -37,13 +37,21 @@ cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME),y) += ecrw
|
|||||||
ecrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw
|
ecrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw
|
||||||
ecrw-name := ecrw
|
ecrw-name := ecrw
|
||||||
ecrw-type := raw
|
ecrw-type := raw
|
||||||
ecrw-options := -A sha256
|
ecrw-compression := $(CBFS_COMPRESS_FLAG)
|
||||||
|
cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME),y) += ecrw.hash
|
||||||
|
ecrw.hash-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw.hash
|
||||||
|
ecrw.hash-name := ecrw.hash
|
||||||
|
ecrw.hash-type := raw
|
||||||
|
|
||||||
cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME),y) += pdrw
|
cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME),y) += pdrw
|
||||||
pdrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw
|
pdrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw
|
||||||
pdrw-name := pdrw
|
pdrw-name := pdrw
|
||||||
pdrw-type := raw
|
pdrw-type := raw
|
||||||
pdrw-options := -A sha256
|
pdrw-compression := $(CBFS_COMPRESS_FLAG)
|
||||||
|
cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME),y) += pdrw.hash
|
||||||
|
pdrw.hash-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw.hash
|
||||||
|
pdrw.hash-name := pdrw.hash
|
||||||
|
pdrw.hash-type := raw
|
||||||
|
|
||||||
$(obj)/mainboard/$(MAINBOARDDIR)/ecrw:
|
$(obj)/mainboard/$(MAINBOARDDIR)/ecrw:
|
||||||
$(MAKE) -C $(top)/3rdparty/chromeec \
|
$(MAKE) -C $(top)/3rdparty/chromeec \
|
||||||
@@ -63,6 +71,9 @@ $(obj)/mainboard/$(MAINBOARDDIR)/pdrw:
|
|||||||
rw
|
rw
|
||||||
cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)/RW/ec.RW.flat $@
|
cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)/RW/ec.RW.flat $@
|
||||||
|
|
||||||
|
$(obj)/mainboard/$(MAINBOARDDIR)/%.hash: $(obj)/mainboard/$(MAINBOARDDIR)/%
|
||||||
|
openssl dgst -sha256 -binary $< > $@
|
||||||
|
|
||||||
.PHONY: $(obj)/mainboard/$(MAINBOARDDIR)/ecrw $(obj)/mainboard/$(MAINBOARDDIR)/pdrw
|
.PHONY: $(obj)/mainboard/$(MAINBOARDDIR)/ecrw $(obj)/mainboard/$(MAINBOARDDIR)/pdrw
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user