summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2019-02-21 22:41:59 -0600
committerPatrick Georgi <pgeorgi@google.com>2019-03-01 10:06:02 +0000
commitff79341a807d1754dadeb2001ccd9769ef11a34b (patch)
treeaf06063596d9c54f02f6c6f2e0fd4782fde22770
parentf288b396bcbfee6181f225bf90906d1491004ced (diff)
downloadcoreboot-ff79341a807d1754dadeb2001ccd9769ef11a34b.tar.xz
payloads/tianocore: Add option for custom bootsplash
Add Kconfig options to use custom bootsplash file, dependent on using MrChromebox's stable branch, with help info conveying required file format. Adjust Makefile to copy the custom bootsplash and overwrite the default Logo.bmp file, handling both absolute and relative paths, and restore the original logo file after building so as to keep the working directory clean. Test: build with and without custom bootsplash, ensure correct bootsplash displayed Change-Id: I164f46777169801cff56633fd920bc81b7c8129a Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/31561 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r--payloads/external/Makefile.inc1
-rw-r--r--payloads/external/tianocore/Kconfig20
-rw-r--r--payloads/external/tianocore/Makefile12
3 files changed, 32 insertions, 1 deletions
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 4fda725c22..5f9d8006d3 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -135,6 +135,7 @@ payloads/external/tianocore/tianocore/Build/UEFIPAYLOAD.fd tianocore: $(DOTCONFI
CONFIG_TIANOCORE_DEBUG=$(CONFIG_TIANOCORE_DEBUG) \
CONFIG_TIANOCORE_TARGET_IA32=$(CONFIG_TIANOCORE_TARGET_IA32) \
CONFIG_TIANOCORE_USE_8254_TIMER=$(CONFIG_TIANOCORE_USE_8254_TIMER) \
+ CONFIG_TIANOCORE_BOOTSPLASH_FILE=$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \
GCC_CC_x86_32=$(GCC_CC_x86_32) \
GCC_CC_x86_64=$(GCC_CC_x86_64) \
GCC_CC_arm=$(GCC_CC_arm) \
diff --git a/payloads/external/tianocore/Kconfig b/payloads/external/tianocore/Kconfig
index 4347edb9d2..d8b7d9251d 100644
--- a/payloads/external/tianocore/Kconfig
+++ b/payloads/external/tianocore/Kconfig
@@ -87,4 +87,24 @@ config TIANOCORE_USE_8254_TIMER
help
Use 8254 Timer for legacy support.
+config TIANOCORE_BOOTSPLASH_IMAGE
+ bool "Use a custom bootsplash image"
+ depends on TIANOCORE_STABLE
+ help
+ Select this option if you have a bootsplash image that you would
+ like to be used. If this option is not selected, the default
+ coreboot logo (European Brown Hare) will used.
+
+config TIANOCORE_BOOTSPLASH_FILE
+ string "Tianocore Bootsplash path and filename"
+ depends on TIANOCORE_BOOTSPLASH_IMAGE
+ default "bootsplash.bmp"
+ help
+ The path and filename of the file to use as graphical bootsplash
+ screen. The file format must be uncompressed BMP, and the file's
+ resolution must be less than the native resolution of the display.
+
+ If an absolute path is not given, the path will assumed to be
+ relative to the coreboot root directory.
+
endif
diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile
index 87c48b1e0d..06e8b68f1d 100644
--- a/payloads/external/tianocore/Makefile
+++ b/payloads/external/tianocore/Makefile
@@ -81,6 +81,15 @@ checktools:
build: update checktools
unset CC; $(MAKE) -C $(project_dir)/BaseTools
echo " build $(project_name) $(TAG-y)"
+ if [ -n $(CONFIG_TIANOCORE_BOOTSPLASH_FILE) ]; then \
+ echo " Copying custom bootsplash image"; \
+ case "$(CONFIG_TIANOCORE_BOOTSPLASH_FILE)" in \
+ /*) cp $(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \
+ $(project_dir)/CorebootPayloadPkg/Logo/Logo.bmp;; \
+ *) cp $(top)/$(CONFIG_TIANOCORE_BOOTSPLASH_FILE) \
+ $(project_dir)/CorebootPayloadPkg/Logo/Logo.bmp;; \
+ esac \
+ fi; \
cd $(project_dir); \
export EDK_TOOLS_PATH=$(project_dir)/BaseTools; \
export WORKSPACE=$(project_dir); \
@@ -90,7 +99,8 @@ build: update checktools
cat ../tools_def.txt >> $(project_dir)/Conf/tools_def.txt; \
fi; \
build $(BUILD_STR); \
- mv $(project_dir)/Build/CorebootPayloadPkg*/*/FV/UEFIPAYLOAD.fd $(project_dir)/Build/UEFIPAYLOAD.fd
+ mv $(project_dir)/Build/CorebootPayloadPkg*/*/FV/UEFIPAYLOAD.fd $(project_dir)/Build/UEFIPAYLOAD.fd; \
+ git checkout CorebootPayloadPkg/Logo/Logo.bmp > /dev/null 2>&1
clean:
test -d $(project_dir) && (cd $(project_dir); rm -rf Build; rm -f Conf/tools_def.txt) || exit 0