[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