cbfstool: Add support for hashes as file metadata
They allow optimizing a verification of a whole CBFS image by only dealing with the headers (assuming you choose to trust the hash algorithm(s)). The format allows for multiple hashes for a single file, and cbfstool can handle them, but right now it can't generate such headers. Loosely based on Sol's work in http://review.coreboot.org/#/c/10147/, but using the compatible file attribute format. vboot is now a hard dependency of the build process, but we import it into the tree for quite a while now. Change-Id: I9f14f30537d676ce209ad612e7327c6f4810b313 Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/11767 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
committed by
Patrick Georgi
parent
44853371f1
commit
89f20340d5
@@ -15,6 +15,11 @@ cbfsobj += lzma.o
|
||||
cbfsobj += LzFind.o
|
||||
cbfsobj += LzmaDec.o
|
||||
cbfsobj += LzmaEnc.o
|
||||
# CRYPTOLIB
|
||||
cbfsobj += 2sha_utility.o
|
||||
cbfsobj += 2sha1.o
|
||||
cbfsobj += 2sha256.o
|
||||
cbfsobj += 2sha512.o
|
||||
# FMAP
|
||||
cbfsobj += fmap.o
|
||||
cbfsobj += kv_pair.o
|
||||
@@ -51,6 +56,9 @@ TOOLCPPFLAGS += -I$(top)/util/cbfstool/flashmap
|
||||
TOOLCPPFLAGS += -I$(top)/util/cbfstool
|
||||
TOOLCPPFLAGS += -I$(objutil)/cbfstool
|
||||
TOOLCPPFLAGS += -I$(top)/src/commonlib/include
|
||||
TOOLCPPFLAGS += -DNEED_VB2_SHA_LIBRARY
|
||||
TOOLCPPFLAGS += -I$(top)/3rdparty/vboot/firmware/include
|
||||
TOOLCPPFLAGS += -I$(top)/3rdparty/vboot/firmware/2lib/include
|
||||
TOOLLDFLAGS ?=
|
||||
|
||||
ifeq ($(shell uname -s | cut -c-7 2>/dev/null), MINGW32)
|
||||
@@ -77,6 +85,10 @@ $(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/%.c
|
||||
printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
|
||||
$(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
|
||||
|
||||
$(objutil)/cbfstool/%.o: $(top)/3rdparty/vboot/firmware/2lib/%.c
|
||||
printf " HOSTCC $(subst $(objutil)/,,$(@))\n"
|
||||
$(HOSTCC) $(TOOLCPPFLAGS) $(TOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
|
||||
|
||||
$(objutil)/cbfstool/cbfstool: $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
|
||||
printf " HOSTCC $(subst $(objutil)/,,$(@)) (link)\n"
|
||||
$(HOSTCC) $(TOOLLDFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
|
||||
@@ -97,6 +109,9 @@ $(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-redundant-decls
|
||||
$(objutil)/cbfstool/fmd_scanner.o: TOOLCFLAGS += -Wno-unused-function
|
||||
# Tolerate lzma sdk warnings
|
||||
$(objutil)/cbfstool/LzmaEnc.o: TOOLCFLAGS += -Wno-sign-compare -Wno-cast-qual
|
||||
# Tolerate vboot warnings
|
||||
$(objutil)/cbfstool/2sha_utility.o: TOOLCFLAGS += -Wno-sign-compare
|
||||
$(objutil)/cbfstool/2sha1.o: TOOLCFLAGS += -Wno-cast-qual
|
||||
|
||||
$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_parser.h
|
||||
$(objutil)/cbfstool/fmd.o: $(objutil)/cbfstool/fmd_scanner.h
|
||||
|
Reference in New Issue
Block a user