Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/10924
-gerrit
commit 0f016d262dce87de72be7547adb1ac740f5a4fb7 Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Wed Jul 15 10:24:18 2015 -0700
payloads: Enable building depthcharge as part of the coreboot build
For CHROMEOS builds, depthcharge can be built automatically. This dependency exists because depthcharge without vboot and subsequent signing of the image doesn't work very well, and both are keyed to that flag as well.
Change-Id: Id0195bd3b4e454f382782106d6512469106daac5 Signed-off-by: Stefan Reinauer stefan.reinauer@coreboot.org Signed-off-by: Patrick Georgi pgeorgi@chromium.org --- payloads/external/Makefile.inc | 8 +++++ payloads/external/depthcharge/Kconfig | 7 ++++ payloads/external/depthcharge/Kconfig.name | 8 +++++ payloads/external/depthcharge/Makefile.inc | 52 ++++++++++++++++++++++++++++++ 4 files changed, 75 insertions(+)
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 557de2a..a2020da 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -25,6 +25,9 @@ ifeq ($(CONFIG_PAYLOAD_FILO),y) PAYLOAD_CONFIG=payloads/external/FILO/filo/.config PAYLOAD_VERSION=payloads/external/FILO/filo/build/version.h endif +ifeq ($(CONFIG_PAYLOAD_DEPTHCHARGE),y) +# TODO: fill in config and version +endif
cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_config payload_config-file := $(PAYLOAD_CONFIG) @@ -57,6 +60,11 @@ payloads/external/SeaBIOS/seabios/out/bios.bin.elf: seabios payloads/external/SeaBIOS/seabios/.config: seabios payloads/external/SeaBIOS/seabios/out/autoversion.h: seabios
+depthcharge: + $(MAKE) -C payloads/external/depthcharge -f Makefile.inc + +payloads/external/depthcharge/depthcharge/build/depthcharge.elf: depthcharge + filo: $(MAKE) -C payloads/external/FILO -f Makefile.inc \ HOSTCC="$(HOSTCC)" \ diff --git a/payloads/external/depthcharge/Kconfig b/payloads/external/depthcharge/Kconfig new file mode 100644 index 0000000..84b36e5 --- /dev/null +++ b/payloads/external/depthcharge/Kconfig @@ -0,0 +1,7 @@ +if PAYLOAD_DEPTHCHARGE + +config PAYLOAD_FILE + string + default "payloads/external/depthcharge/depthcharge/build/depthcharge.elf" + +endif diff --git a/payloads/external/depthcharge/Kconfig.name b/payloads/external/depthcharge/Kconfig.name new file mode 100644 index 0000000..bc564ec --- /dev/null +++ b/payloads/external/depthcharge/Kconfig.name @@ -0,0 +1,8 @@ +config PAYLOAD_DEPTHCHARGE + bool "Depthcharge" + depends on CHROMEOS + help + Select this option if you want to build a coreboot image + with a depthcharge payload. + + See http://coreboot.org/Payloads for more information. diff --git a/payloads/external/depthcharge/Makefile.inc b/payloads/external/depthcharge/Makefile.inc new file mode 100644 index 0000000..f3a4ca3 --- /dev/null +++ b/payloads/external/depthcharge/Makefile.inc @@ -0,0 +1,52 @@ +TAG-y=origin/master + +unexport KCONFIG_AUTOHEADER +unexport KCONFIG_AUTOCONFIG +unexport KCONFIG_DEPENDENCIES +unexport KCONFIG_SPLITCONFIG +unexport KCONFIG_TRISTATE +unexport KCONFIG_NEGATIVES +unexport src srck obj objk + +BOARD:=$(notdir $(CONFIG_MAINBOARD_DIR)) + +all: build + +depthcharge: + echo " Cloning depthcharge from Git" + git clone https://chromium.googlesource.com/chromiumos/platform/depthcharge + +fetch: depthcharge + cd depthcharge; git show $(TAG-y) >/dev/null 2>&1 ; if [ $$? -ne 0 ]; \ + then echo " Fetching new commits from the depthcharge git repo"; git fetch; fi + +checkout: fetch + echo " Checking out depthcharge revision $(TAG-y)" + cd depthcharge; git checkout master; git branch -D coreboot 2>/dev/null; git checkout -b coreboot $(TAG-y) + +config: checkout + echo " CONFIG depthcharge $(TAG-y)" + cp depthcharge/board/$(BOARD)/defconfig depthcharge/.config + yes "" | $(MAKE) -C depthcharge oldconfig + +build: config + echo " MAKE depthcharge $(TAG-y)" + cp ../../libpayload/configs/defconfig.$(BOARD) ../../libpayload/.config + yes "" | $(MAKE) -C ../../libpayload oldconfig + $(MAKE) -C ../../libpayload + $(MAKE) -C ../../libpayload install DESTDIR=installed + export VERSION=$$(cd depthcharge && \ + git describe --tags --long --dirty 2>/dev/null || \ + echo "unknown") ; \ + cd depthcharge && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(abspath ../../libpayload/installed/libpayload) \ + VB_SOURCE=3rdparty/vboot defconfig + cd depthcharge && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(abspath ../../libpayload/installed/libpayload) \ + VB_SOURCE=../../../../3rdparty/vboot build/depthcharge.elf + +clean: + test -d depthcharge/out && rm -rf depthcharge/out || exit 0 + +distclean: + rm -rf depthcharge + +.PHONY: checkout config build clean distclean clone fetch