summaryrefslogtreecommitdiff
path: root/resources/scripts/build
diff options
context:
space:
mode:
Diffstat (limited to 'resources/scripts/build')
-rwxr-xr-xresources/scripts/build/boot/roms_helper15
-rwxr-xr-xresources/scripts/build/clean/memtest86plus35
-rwxr-xr-xresources/scripts/build/dependencies/arch5
-rwxr-xr-xresources/scripts/build/dependencies/ubuntu20045
-rwxr-xr-xresources/scripts/build/module/memtest86plus37
-rwxr-xr-xresources/scripts/build/release/src2
6 files changed, 98 insertions, 1 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index c493ad58..a4d5ff32 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -59,6 +59,7 @@ payload_seabios="n"
payload_seabios_withgrub="n" # i386-coreboot grub accessible from SeaBIOS boot menu
payload_tianocore="n"
seabios_opromloadonly="0"
+payload_memtest="n"
# Override the above defaults using board.cfg
source "resources/coreboot/${board}/board.cfg"
if [ "${cbtree}" = "undefined" ]; then
@@ -74,6 +75,10 @@ if [ "${seabios_opromloadonly}" != "0" ] && \
[ "${seabios_opromloadonly}" != "1" ]; then
seabios_opromloadonly="0"
fi
+if [ "${payload_memtest}" != "n" ] && \
+ [ "${payload_memtest}" != "y" ]; then
+ payload_memtest="n"
+fi
if [ "${payload_grub_withseabios}" = "y" ] \
|| [ "${payload_grub_withtianocore}" = "y" ]; then
payload_grub="y"
@@ -104,6 +109,12 @@ if [ "${payload_grub}" != "y" ] && [ "${payload_seabios}" != "y" ] \
done
fi
+if [ "${payload_memtest}" = "y" ]; then
+ if [ ! -f "memtest86plus/memtest" ]; then
+ ./build module memtest86plus
+ fi
+fi
+
romdir="bin/${board}"
cbdir="coreboot/${board}"
if [ "${board}" != "${cbtree}" ]; then
@@ -415,6 +426,10 @@ mkRoms() {
mkRomWithTianocoreOnly "${corebootrom}" "${initmode}"
fi
+ if [ "${displaymode}" = "txtmode" ] && [ "${payload_memtest}" = "y" ]; then
+ "${cbfstool}" "${corebootrom}" add-payload -f memtest86plus/memtest -n img/memtest -c lzma
+ fi
+
if [ "${payload_seabios}" = "y" ]; then
if [ "${payload_seabios_withgrub}" = "n" ]; then
tmpseabiosrom="$(make_seabios_rom "${corebootrom}" "fallback/payload" "${seabios_opromloadonly}" "${initmode}" "${cbfstool}")"
diff --git a/resources/scripts/build/clean/memtest86plus b/resources/scripts/build/clean/memtest86plus
new file mode 100755
index 00000000..e4d7b200
--- /dev/null
+++ b/resources/scripts/build/clean/memtest86plus
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+# helper script: clean the dependencies that were built in memtest86+
+#
+# Copyright (C) 2014, 2015 Leah Rowe <info@minifree.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+#
+# 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, either version 3 of the License, or
+# (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the current working directory is the root
+# of git or release archive
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+printf "Cleaning the previous build of MemTest86+\n"
+
+[ ! -d "memtest86plus" ] && exit 0
+
+# clean MemTest86+
+make -C memtest86plus clean
+
+printf "\n\n"
diff --git a/resources/scripts/build/dependencies/arch b/resources/scripts/build/dependencies/arch
index aa98158b..c933f433 100755
--- a/resources/scripts/build/dependencies/arch
+++ b/resources/scripts/build/dependencies/arch
@@ -59,6 +59,11 @@ pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip
# for cross-compiling ARM binaries
pacman -S --needed --noconfirm arm-none-eabi-gcc
+# Memtest86+ build dependencies
+# ------------------------------------------------------------
+
+pacman -S --needed --noconfirm base-devel python2
+
# i945-pwm build dependencies
# ------------------------------------------------------------
diff --git a/resources/scripts/build/dependencies/ubuntu2004 b/resources/scripts/build/dependencies/ubuntu2004
index a2dd721e..2082d27d 100755
--- a/resources/scripts/build/dependencies/ubuntu2004
+++ b/resources/scripts/build/dependencies/ubuntu2004
@@ -73,6 +73,11 @@ if [ "${arch}" -eq 0 ]; then
apt-get -y install lib32tinfo-dev
fi
+# Memtest86+ build dependencies
+# ------------------------------------------------------------
+
+apt-get -y install build-essential python2.7
+
# i945-pwm build dependencies
# ------------------------------------------------------------
diff --git a/resources/scripts/build/module/memtest86plus b/resources/scripts/build/module/memtest86plus
new file mode 100755
index 00000000..065eec88
--- /dev/null
+++ b/resources/scripts/build/module/memtest86plus
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+# helper script: builds memtest86+ source code
+#
+# Copyright (C) 2014, 2015, 2020 Leah Rowe <info@minifree.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+#
+# 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, either version 3 of the License, or
+# (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This script assumes that the working directory is the root
+# of git or release archive
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+# Build MemTest86+ payload
+# --------------------------------------------------------------------
+
+printf "Building MemTest86+\n"
+
+if [ ! -d "memtest86plus/" ]; then
+ ./download memtest86plus
+fi
+
+make -j$(nproc) -BC memtest86plus
diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src
index 7b0a444a..700b3d6c 100755
--- a/resources/scripts/build/release/src
+++ b/resources/scripts/build/release/src
@@ -53,7 +53,7 @@ mkdir -p "${srcdir}/"
printf "%s" "${version}" > "${srcdir}"/version
-modlist="coreboot flashrom grub seabios ich9utils"
+modlist="coreboot flashrom grub memtest86plus seabios ich9utils"
dirlist="resources"
filelist="download build README.md COPYING Makefile update version versiondate projectname"