parent
cca23ac713
commit
68d3c9372a
|
@ -20,6 +20,7 @@
|
||||||
/flashrom/
|
/flashrom/
|
||||||
/resources/coreboot/*/seen
|
/resources/coreboot/*/seen
|
||||||
/grub/
|
/grub/
|
||||||
|
/memtest86plus/
|
||||||
/seabios/
|
/seabios/
|
||||||
/bin/
|
/bin/
|
||||||
/release/
|
/release/
|
||||||
|
|
1
Makefile
1
Makefile
|
@ -51,6 +51,7 @@ clean:
|
||||||
./build clean payloads
|
./build clean payloads
|
||||||
./build clean seabios
|
./build clean seabios
|
||||||
./build clean grub
|
./build clean grub
|
||||||
|
./build clean memtest86plus
|
||||||
./build clean rom_images
|
./build clean rom_images
|
||||||
./build clean tianocore
|
./build clean tianocore
|
||||||
|
|
||||||
|
|
|
@ -245,3 +245,9 @@ menuentry 'Load Tianocore UEFI payload' {
|
||||||
chainloader /tianocore.elf
|
chainloader /tianocore.elf
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
if [ -f (cbfsdisk)/img/memtest ]; then
|
||||||
|
menuentry 'Load MemTest86+ [m]' --hotkey='m' {
|
||||||
|
set root='cbfsdisk'
|
||||||
|
chainloader /img/memtest
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
|
@ -59,6 +59,7 @@ payload_seabios="n"
|
||||||
payload_seabios_withgrub="n" # i386-coreboot grub accessible from SeaBIOS boot menu
|
payload_seabios_withgrub="n" # i386-coreboot grub accessible from SeaBIOS boot menu
|
||||||
payload_tianocore="n"
|
payload_tianocore="n"
|
||||||
seabios_opromloadonly="0"
|
seabios_opromloadonly="0"
|
||||||
|
payload_memtest="n"
|
||||||
# Override the above defaults using board.cfg
|
# Override the above defaults using board.cfg
|
||||||
source "resources/coreboot/${board}/board.cfg"
|
source "resources/coreboot/${board}/board.cfg"
|
||||||
if [ "${cbtree}" = "undefined" ]; then
|
if [ "${cbtree}" = "undefined" ]; then
|
||||||
|
@ -74,6 +75,10 @@ if [ "${seabios_opromloadonly}" != "0" ] && \
|
||||||
[ "${seabios_opromloadonly}" != "1" ]; then
|
[ "${seabios_opromloadonly}" != "1" ]; then
|
||||||
seabios_opromloadonly="0"
|
seabios_opromloadonly="0"
|
||||||
fi
|
fi
|
||||||
|
if [ "${payload_memtest}" != "n" ] && \
|
||||||
|
[ "${payload_memtest}" != "y" ]; then
|
||||||
|
payload_memtest="n"
|
||||||
|
fi
|
||||||
if [ "${payload_grub_withseabios}" = "y" ] \
|
if [ "${payload_grub_withseabios}" = "y" ] \
|
||||||
|| [ "${payload_grub_withtianocore}" = "y" ]; then
|
|| [ "${payload_grub_withtianocore}" = "y" ]; then
|
||||||
payload_grub="y"
|
payload_grub="y"
|
||||||
|
@ -104,6 +109,12 @@ if [ "${payload_grub}" != "y" ] && [ "${payload_seabios}" != "y" ] \
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${payload_memtest}" = "y" ]; then
|
||||||
|
if [ ! -f "memtest86plus/memtest" ]; then
|
||||||
|
./build module memtest86plus
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
romdir="bin/${board}"
|
romdir="bin/${board}"
|
||||||
cbdir="coreboot/${board}"
|
cbdir="coreboot/${board}"
|
||||||
if [ "${board}" != "${cbtree}" ]; then
|
if [ "${board}" != "${cbtree}" ]; then
|
||||||
|
@ -415,6 +426,10 @@ mkRoms() {
|
||||||
mkRomWithTianocoreOnly "${corebootrom}" "${initmode}"
|
mkRomWithTianocoreOnly "${corebootrom}" "${initmode}"
|
||||||
fi
|
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}" = "y" ]; then
|
||||||
if [ "${payload_seabios_withgrub}" = "n" ]; then
|
if [ "${payload_seabios_withgrub}" = "n" ]; then
|
||||||
tmpseabiosrom="$(make_seabios_rom "${corebootrom}" "fallback/payload" "${seabios_opromloadonly}" "${initmode}" "${cbfstool}")"
|
tmpseabiosrom="$(make_seabios_rom "${corebootrom}" "fallback/payload" "${seabios_opromloadonly}" "${initmode}" "${cbfstool}")"
|
||||||
|
|
|
@ -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"
|
|
@ -59,6 +59,11 @@ pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip
|
||||||
# for cross-compiling ARM binaries
|
# for cross-compiling ARM binaries
|
||||||
pacman -S --needed --noconfirm arm-none-eabi-gcc
|
pacman -S --needed --noconfirm arm-none-eabi-gcc
|
||||||
|
|
||||||
|
# Memtest86+ build dependencies
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
|
||||||
|
pacman -S --needed --noconfirm base-devel python2
|
||||||
|
|
||||||
# i945-pwm build dependencies
|
# i945-pwm build dependencies
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,11 @@ if [ "${arch}" -eq 0 ]; then
|
||||||
apt-get -y install lib32tinfo-dev
|
apt-get -y install lib32tinfo-dev
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Memtest86+ build dependencies
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
|
||||||
|
apt-get -y install build-essential python2.7
|
||||||
|
|
||||||
# i945-pwm build dependencies
|
# i945-pwm build dependencies
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
@ -53,7 +53,7 @@ mkdir -p "${srcdir}/"
|
||||||
|
|
||||||
printf "%s" "${version}" > "${srcdir}"/version
|
printf "%s" "${version}" > "${srcdir}"/version
|
||||||
|
|
||||||
modlist="coreboot flashrom grub seabios ich9utils"
|
modlist="coreboot flashrom grub memtest86plus seabios ich9utils"
|
||||||
dirlist="resources"
|
dirlist="resources"
|
||||||
filelist="download build README.md COPYING Makefile update version versiondate projectname"
|
filelist="download build README.md COPYING Makefile update version versiondate projectname"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# helper script: Downloads MemTest86+ and patches it
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org>
|
||||||
|
# Copyright (C) 2015 Joseph Michael Thompson <jmt@josepht.me>
|
||||||
|
# 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/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
|
set -u -e
|
||||||
|
|
||||||
|
# Get the last version of MemTest86+ used, apply patches, build it.
|
||||||
|
|
||||||
|
# Remove the old version that may exist
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
printf "Downloading MemTest86+\n"
|
||||||
|
|
||||||
|
rm -Rf "memtest86plus/"
|
||||||
|
|
||||||
|
# Get latest memtest86+:
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# download it using wget
|
||||||
|
wget http://memtest.org/download/5.31b/memtest86+-5.31b.tar.gz
|
||||||
|
|
||||||
|
if [ "$(sha512sum memtest86+-5.31b.tar.gz | cut -c1-128)" = "ad5891fd0c430ce7a5d0cde2d10dee20b66ad8060d47c3e70e038461d9cde3a78dfc13442b5b09da7c662741945a670353c72dbc08fd5ee8bae82256001a9541" ]; then
|
||||||
|
printf "Valid checksum for memtest86plus\n"
|
||||||
|
else
|
||||||
|
rm -f "memtest86+-5.31b.tar.gz"
|
||||||
|
printf "Invalid checksum for memtest86plus, or memtest86plus not downloaded\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extract it
|
||||||
|
tar -xzf "memtest86+-5.31b.tar.gz"
|
||||||
|
|
||||||
|
# delete the tar file (no longer needed)
|
||||||
|
rm -f "memtest86+-5.31b.tar.gz"
|
||||||
|
|
||||||
|
# make direcotory name consistent
|
||||||
|
mv "memtest86+-5.31b/" "memtest86plus/"
|
||||||
|
|
||||||
|
# Apply necessary patches
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(
|
||||||
|
cd "memtest86plus/"
|
||||||
|
for patch in ../resources/memtest86plus/patch/*; do
|
||||||
|
patch < "${patch}"
|
||||||
|
done
|
||||||
|
)
|
||||||
|
|
||||||
|
printf "\n\n"
|
Loading…
Reference in New Issue