Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10924
-gerrit
commit 726c592882154f99be18c6862dc85aad2e1f1ad5 Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Wed Jul 15 10:24:18 2015 -0700
payloads: preliminary depthcharge support
This is the first piece of many to build a Chrome OS firmware image right out of an upstream coreboot source tree. This does not provide you with a booting image, because many more steps are necessary, such as deploying the required stages to the A/B sections, adding the root and recovery key, images, and signing the RW sections.
Change-Id: Id0195bd3b4e454f382782106d6512469106daac5 Signed-off-by: Stefan Reinauer stefan.reinauer@coreboot.org --- payloads/external/Makefile.inc | 6 ++++ payloads/external/depthcharge/Kconfig | 7 ++++ payloads/external/depthcharge/Kconfig.name | 8 +++++ payloads/external/depthcharge/Makefile.inc | 53 ++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+)
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 165670d..ed9aaee 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -22,6 +22,9 @@ ifeq ($(CONFIG_PAYLOAD_ELF),y) COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_PAYLOAD_FILE) endif +ifeq ($(CONFIG_PAYLOAD_DEPTHCHARGE),y) +COREBOOT_ROM_DEPENDENCIES+=depthcharge +endif ifeq ($(CONFIG_PAYLOAD_SEABIOS),y) COREBOOT_ROM_DEPENDENCIES+=seabios endif @@ -48,6 +51,9 @@ seabios: CONFIG_TTYS0_BASE=$(CONFIG_TTYS0_BASE) \ CONFIG_SEABIOS_MALLOC_UPPERMEMORY=$(CONFIG_SEABIOS_MALLOC_UPPERMEMORY)
+depthcharge: + $(MAKE) -C payloads/external/depthcharge -f Makefile.inc + 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..95a850b --- /dev/null +++ b/payloads/external/depthcharge/Makefile.inc @@ -0,0 +1,53 @@ +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 + pwd + yes "" | make -C depthcharge oldconfig + +build: config + echo " MAKE depthcharge $(TAG-y)" + cp depthcharge/board/$(BOARD)/defconfig.libpayload ../../libpayload/.config + yes "" | make -C ../../libpayload oldconfig + cd ../../libpayload && make + 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 depthcharge_unified + +clean: + test -d depthcharge/out && rm -rf depthcharge/out || exit 0 + +distclean: + rm -rf depthcharge + +.PHONY: checkout config build clean distclean clone fetch