Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14520
-gerrit
commit 4750ee1e2b43f8ebe04e3f43cb09a89f1f8d4500 Author: Martin Roth martinroth@google.com Date: Tue Apr 26 09:51:41 2016 -0600
payloads: Add a stable version of Memtest86+ for reproducibility
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 martinroth@google.com --- 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 00d5d88..6c178d4 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 26a5613..5ae9f7e 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 f77fa38..90ea5e8 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; \