diff options
author | Yu-Ping Wu <yupingso@chromium.org> | 2022-05-20 17:36:46 +0800 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2022-05-27 01:46:24 +0000 |
commit | 471eda5ae183b7c2add94529e9b8fc627a155392 (patch) | |
tree | 76c3fb492af6b86b3498867e0a4cdb088b1c73e8 /src | |
parent | a182faeb88a0b2313ac83371fdefd6ca0d30bb8d (diff) |
Makefile.inc: Add bootblock to CBFS before others
With CBFS verification, cbfstool (CB:41121) needs bootblock to be
present in coreboot.pre in order to locate the metadata hash stored in
it. Therefore we have to ensure that bootblock is added to CBFS before
other CBFS files are added.
To solve the problem, create the 'add_bootblock' function, and call it
in the coreboot.pre recipe. Because bootblock.bin is now a prerequisite
of coreboot.pre, it will get built even if CONFIG_BOOTBLOCK_IN_CBFS=n.
BUG=b:233263447
TEST=emerge-guybrush coreboot
TEST=emerge-corsola coreboot chromeos-bootimage
TEST=cbfstool image-kingler.bin print -v
TEST=Kingler booted successfully
BRANCH=none
Change-Id: I385deb8231e44310ee139c3f69f449e75b92b2be
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64547
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/x86/Makefile.inc | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 02ee902e38..eaced1f220 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -102,15 +102,11 @@ else $(eval $(call early_x86_stage,bootblock,elf64-x86-64)) endif -ifneq ($(CONFIG_UPDATE_IMAGE),y) ifeq ($(CONFIG_BOOTBLOCK_IN_CBFS),y) -$(call add_intermediate, add_bootblock, $(objcbfs)/bootblock.bin) - @printf " CBFS $(subst $(obj)/,,$(@))\n" - $(CBFSTOOL) $< add -f $(objcbfs)/bootblock.bin -n bootblock -t bootblock $(TXTIBB) -b -$(call file-size,$(objcbfs)/bootblock.bin) \ +add_bootblock = \ + $(CBFSTOOL) $(1) add -f $(2) -n bootblock -t bootblock $(TXTIBB) \ + -b -$(call file-size,$(2)) \ $(cbfs-autogen-attributes) $(TS_OPTIONS) $(CBFSTOOL_ADD_CMD_OPTIONS) -else # Make sure the bootblock gets build, if only for buildtesting -$(call add_intermediate, gen_bootblock, $(objcbfs)/bootblock.bin) -endif endif $(call src-to-obj,bootblock,$(dir)/walkcbfs.S): $(obj)/fmap_config.h |