Dear friends, sometimes you need to do a few operations with coreboot.rom (e.g. update its' payload) without changing coreboot.rom's main code. If you have bad Internet connection or just want to quickly get the latest version of cbfstool without cloning the whole coreboot/vboot repositories - my bash script below will really help you!
It downloads only the files required for the successful compilation of cbfstool - whole ./util/cbfstool directory (93 files, ~1,3M size) and all the dependencies: ./src/commonlib - 20 files, ~152K ./src/vendorcode/intel/edk2/uefi_2.4/ - 26 files, 272K ./src/vendorcode/intel/fsp/fsp1_1/IntelFspPkg/Include/FspInfoHeader.h - ~4K
((( I don't understand what Intel is doing here, but I can't build without these files! )))
./3rdparty/vboot/firmware/2lib/ - 17 files, 170K ./3rdparty/vboot/firmware/include/vb2_api.h - ~1K
In total, its 158 files and just 1.9M - less than 2M ! And it builds OK. Hope it will be useful for you ;-)
### SCRIPT BEGIN ###
wget --recursive --no-parent --no-host-directories --cut-dirs=3 \ --user-agent="Mozilla/5.0" --execute robots=off \ https://review.coreboot.org/cgit/coreboot.git/plain/util/cbfstool/
wget --recursive --no-parent --no-host-directories --cut-dirs=3 \ --user-agent="Mozilla/5.0" --execute robots=off \ https://review.coreboot.org/cgit/coreboot.git/plain/src/commonlib/ \ --exclude-directories=/cgit/coreboot.git/plain/src/commonlib/storage/ \ --reject=configstring.c,iobuf.c,cbmem_id.h,configstring.h,coreboot_tables.h,\ fmap_serialized.h,iobuf.h,sd_mmc_ctrlr.h,sdhci.h,stdlib.h,storage.h,\ timestamp_serialized.h
wget --recursive --no-parent --no-host-directories --cut-dirs=3 \ --user-agent="Mozilla/5.0" --execute robots=off \ https://review.coreboot.org/cgit/coreboot.git/plain/src/vendorcode/intel/edk...
wget --recursive --no-parent --no-host-directories --cut-dirs=3 \ --user-agent="Mozilla/5.0" --execute robots=off \ https://review.coreboot.org/cgit/coreboot.git/plain/src/vendorcode/intel/fsp...
wget --recursive --no-parent --no-host-directories --cut-dirs=3 \ --user-agent="Mozilla/5.0" --execute robots=off --directory-prefix=./3rdparty/vboot/ \ https://review.coreboot.org/cgit/vboot.git/plain/firmware/2lib/ \ --reject=2api.c,2crc8.c,2hmac.c,2misc.c,2nvstorage.c,2rsa.c,2secdata.c,\ 2secdatak.c,2stub.c,2tpm_bootmode.c,2crc8.h,2hmac.h,2misc.h,\ 2nvstorage_fields.h,2nvstorage.h,2rsa.h,2secdata.h,2tpm_bootmode.h
wget --recursive --no-parent --no-host-directories --cut-dirs=3 \ --user-agent="Mozilla/5.0" --execute robots=off --directory-prefix=./3rdparty/vboot/ \ https://review.coreboot.org/cgit/vboot.git/plain/firmware/include/vb2_api.h
cd ./util/cbfstool/
make all
### SCRIPT END ###