[coreboot-gerrit] New patch to review for coreboot: payloads: preliminary depthcharge support

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Wed Jul 15 19:30:25 CEST 2015


Stefan Reinauer (stefan.reinauer at 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 at 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 at 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



More information about the coreboot-gerrit mailing list