BuildSystem: Add Memtest86+ as a secondary payload
This allows memtest86+ to be added to CBFS as a 'secondary' payload on x86 systems, to be loaded by the main payload if desired. Selecting this option, which defaults to no, builds the memtest86+ payload and adds it to CBFS as `img/memtest` which can then be loaded by for example SeaBIOS or GRUB. Change-Id: Iecf876aaf588ba1df7abdf6668cb26f089bf5f42 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/13858 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) Reviewed-by: Ben Gardner <gardner.ben@gmail.com>
This commit is contained in:
parent
f7fd63066f
commit
be63a24c4c
|
@ -12,6 +12,7 @@ payloads/external/FILO/filo/
|
||||||
payloads/external/GRUB2/grub2/
|
payloads/external/GRUB2/grub2/
|
||||||
payloads/external/SeaBIOS/seabios/
|
payloads/external/SeaBIOS/seabios/
|
||||||
payloads/external/U-Boot/u-boot/
|
payloads/external/U-Boot/u-boot/
|
||||||
|
payloads/external/Memtest86Plus/memtest86plus/
|
||||||
util/crossgcc/acpica-unix-*/
|
util/crossgcc/acpica-unix-*/
|
||||||
util/crossgcc/binutils-*/
|
util/crossgcc/binutils-*/
|
||||||
util/crossgcc/build-*BINUTILS/
|
util/crossgcc/build-*BINUTILS/
|
||||||
|
|
|
@ -67,4 +67,12 @@ config COREINFO_SECONDARY_PAYLOAD
|
||||||
coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
|
coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
|
||||||
or any other payload that can load additional payloads.
|
or any other payload that can load additional payloads.
|
||||||
|
|
||||||
|
config MEMTEST_SECONDARY_PAYLOAD
|
||||||
|
bool "Load Memtest86+ as a secondary payload"
|
||||||
|
default n
|
||||||
|
depends on ARCH_X86 && !PAYLOAD_NONE
|
||||||
|
help
|
||||||
|
Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
|
||||||
|
or any other payload that can load additional payloads.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -82,3 +82,22 @@ payloads/external/U-Boot/u-boot/u-boot-dtb.bin u-boot: $(top)/$(DOTCONFIG)
|
||||||
$(MAKE) -C payloads/external/U-Boot -f Makefile.inc \
|
$(MAKE) -C payloads/external/U-Boot -f Makefile.inc \
|
||||||
CONFIG_UBOOT_MASTER=$(CONFIG_UBOOT_MASTER) \
|
CONFIG_UBOOT_MASTER=$(CONFIG_UBOOT_MASTER) \
|
||||||
CONFIG_UBOOT_STABLE=$(CONFIG_UBOOT_STABLE)
|
CONFIG_UBOOT_STABLE=$(CONFIG_UBOOT_STABLE)
|
||||||
|
|
||||||
|
cbfs-files-$(CONFIG_MEMTEST_SECONDARY_PAYLOAD) += img/memtest
|
||||||
|
img/memtest-file := payloads/external/Memtest86Plus/memtest86plus/memtest
|
||||||
|
img/memtest-type := payload
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
|
||||||
|
MEMTEST_SERIAL_OPTIONS=SERIAL_CONSOLE_DEFAULT=1 \
|
||||||
|
SERIAL_TTY=$(CONFIG_UART_FOR_CONSOLE) \
|
||||||
|
SERIAL_BAUD_RATE=$(CONFIG_TTYS0_BAUD)
|
||||||
|
endif
|
||||||
|
|
||||||
|
payloads/external/Memtest86Plus/memtest86plus/memtest: $(top)/$(DOTCONFIG)
|
||||||
|
$(MAKE) -C payloads/external/Memtest86Plus -f Makefile.inc all \
|
||||||
|
CC="$(CC_x86_32)" \
|
||||||
|
LD="$(LD_x86_32)" \
|
||||||
|
OBJCOPY="$(OBJCOPY_x86_32)" \
|
||||||
|
AS="$(AS_x86_32)" \
|
||||||
|
$(MEMTEST_SERIAL_OPTIONS) \
|
||||||
|
MFLAGS= MAKEFLAGS=
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
##
|
||||||
|
## This file is part of the coreboot project.
|
||||||
|
##
|
||||||
|
## Copyright (C) 2016 Google Inc.
|
||||||
|
##
|
||||||
|
## This program is free software; you can redistribute it and/or modify
|
||||||
|
## it under the terms of the GNU General Public License as published by
|
||||||
|
## the Free Software Foundation; version 2 of the License.
|
||||||
|
##
|
||||||
|
## This program is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU General Public License for more details.
|
||||||
|
##
|
||||||
|
|
||||||
|
project_name=Memtest86+
|
||||||
|
project_dir=$(shell pwd)/memtest86plus
|
||||||
|
project_git_repo=https://review.coreboot.org/memtest86plus
|
||||||
|
|
||||||
|
all: build
|
||||||
|
|
||||||
|
$(project_dir):
|
||||||
|
echo " Cloning $(project_name) from Git"
|
||||||
|
git clone $(project_git_repo) $(project_dir)
|
||||||
|
|
||||||
|
fetch: $(project_dir)
|
||||||
|
cd $(project_dir); \
|
||||||
|
test -e '.git' && \
|
||||||
|
git fetch && \
|
||||||
|
git checkout origin/master
|
||||||
|
|
||||||
|
build: fetch
|
||||||
|
echo " MAKE $(project_name)"
|
||||||
|
$(MAKE) -C $(project_dir) all
|
||||||
|
|
||||||
|
clean:
|
||||||
|
test -d $(project_dir) && $(MAKE) -C $(project_dir) clean || exit 0
|
||||||
|
|
||||||
|
distclean:
|
||||||
|
rm -rf $(project_dir)
|
||||||
|
|
||||||
|
.PHONY: all build fetch clean distclean
|
Loading…
Reference in New Issue