parent
cca23ac713
commit
68d3c9372a
|
@ -20,6 +20,7 @@
|
|||
/flashrom/
|
||||
/resources/coreboot/*/seen
|
||||
/grub/
|
||||
/memtest86plus/
|
||||
/seabios/
|
||||
/bin/
|
||||
/release/
|
||||
|
|
1
Makefile
1
Makefile
|
@ -51,6 +51,7 @@ clean:
|
|||
./build clean payloads
|
||||
./build clean seabios
|
||||
./build clean grub
|
||||
./build clean memtest86plus
|
||||
./build clean rom_images
|
||||
./build clean tianocore
|
||||
|
||||
|
|
|
@ -245,3 +245,9 @@ menuentry 'Load Tianocore UEFI payload' {
|
|||
chainloader /tianocore.elf
|
||||
}
|
||||
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_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}")"
|
||||
|
|
|
@ -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
|
||||
pacman -S --needed --noconfirm arm-none-eabi-gcc
|
||||
|
||||
# Memtest86+ build dependencies
|
||||
# ------------------------------------------------------------
|
||||
|
||||
pacman -S --needed --noconfirm base-devel python2
|
||||
|
||||
# i945-pwm build dependencies
|
||||
# ------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -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
|
||||
# ------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
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"
|
||||
|
||||
|
|
|
@ -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