From 4005d9b2e42d6d8e70e9fb4b88002b3a69d20bca Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Tue, 26 Apr 2016 09:51:41 -0600 Subject: [PATCH] payloads: Add a stable version of Memtest86+ for reproducibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Memtest86+ was pulling origin/master which will change over time. This adds a commit-id as a stable version to allow it to be reproducible. The other secondary payloads, coreinfo and nvramcui, do not need this because they are part of the coreboot repo and not fetched from an external source. Change-Id: I20c516010f76cf03342bd8883d0ee7ac5f8bc7e4 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/14520 Tested-by: build bot (Jenkins) Reviewed-by: Jonathan Neuschäfer Reviewed-by: Stefan Reinauer --- payloads/Kconfig | 21 +++++++++++++++++++++ payloads/external/Makefile.inc | 2 ++ payloads/external/Memtest86Plus/Makefile | 8 +++++--- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/payloads/Kconfig b/payloads/Kconfig index 00d5d88e96..6c178d40a2 100644 --- a/payloads/Kconfig +++ b/payloads/Kconfig @@ -77,6 +77,27 @@ config MEMTEST_SECONDARY_PAYLOAD Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB, or any other payload that can load additional payloads. +choice + prompt "Memtest86+ version" + default MEMTEST_STABLE + depends on MEMTEST_SECONDARY_PAYLOAD + +config MEMTEST_STABLE + bool "Stable" + help + Stable Memtest86+ version. + + For reproducible builds, this option must be selected. +config MEMTEST_MASTER + bool "Master" + help + Newest Memtest86+ version. + + This option will fetch the newest version of the Memtest86+ code, + updating as new changes are committed. This makes the build + non-reproducible, as it can fetch different code each time. +endchoice + config NVRAMCUI_SECONDARY_PAYLOAD bool "Load nvramcui as a secondary payload" default n diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 26a561365a..5ae9f7e6f1 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -122,6 +122,8 @@ payloads/external/Memtest86Plus/memtest86plus/memtest: $(top)/$(DOTCONFIG) LD="$(LD_x86_32)" \ OBJCOPY="$(OBJCOPY_x86_32)" \ AS="$(AS_x86_32)" \ + CONFIG_MEMTEST_MASTER=$(CONFIG_MEMTEST_MASTER) \ + CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \ $(MEMTEST_SERIAL_OPTIONS) \ MFLAGS= MAKEFLAGS= diff --git a/payloads/external/Memtest86Plus/Makefile b/payloads/external/Memtest86Plus/Makefile index f77fa38a1c..90ea5e8a7a 100644 --- a/payloads/external/Memtest86Plus/Makefile +++ b/payloads/external/Memtest86Plus/Makefile @@ -13,8 +13,10 @@ ## GNU General Public License for more details. ## -TAG-y=origin/master -NAME-y=MASTER +TAG-$(CONFIG_MEMTEST_MASTER)=origin/master +NAME-$(CONFIG_MEMTEST_MASTER)=Master +TAG-$(CONFIG_MEMTEST_STABLE)=ca352c9a6bd8c1bba16ea22cbfc7028d97bacec9 +NAME-$(CONFIG_MEMTEST_STABLE)=Stable project_name=Memtest86+ project_dir=$(CURDIR)/memtest86plus @@ -33,7 +35,7 @@ fetch: $(project_dir) git fetch; fi checkout: fetch - echo " Checking out $(project_name) revision $(NAME-y)" + echo " Checking out $(project_name) revision $(NAME-y) ($(TAG-y))" cd $(project_dir); \ git checkout master; \ git branch -D coreboot 2>/dev/null; \