remove blobutil and boards/utils needing/for blobs

delete all blobs. TODO: actually deblob coreboot/uboot
when downloading. i'll that in a little while, in an
upcoming commit.

yes.

purge it all, in fsf style. censor what the fsf doesn't like.

so that they can feel good about having less, because
ideological purity is better than helping more people
use coreboot, yes?

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2023-07-08 22:07:36 +01:00
parent 6bc619db90
commit 2bbb4c839a
138 changed files with 9 additions and 42269 deletions
-4
View File
@@ -129,10 +129,6 @@ listboards()
buildrom() {
board="$1"
# Start by building blobs and placing them in the
# coreboot tree only for boards that need them
./blobutil download ${board} || exit 1
if [ -d "resources/coreboot/${board}/" ]; then
./build boot roms_helper ${board}${opts}
else
-31
View File
@@ -31,9 +31,6 @@ set -u -e
projectname="$(cat projectname)"
blobs_required=""
microcode_required=""
kmapdir="resources/grub/keymap"
displaymodes=""
payloads=""
@@ -161,15 +158,6 @@ if [ "${payload_uboot}" = "y" ] && \
uboot_config="default"
fi
if [ "${microcode_required}" != "n" ] \
&& [ "${microcode_required}" != "y" ]; then
microcode_required="y"
fi
if [ "${blobs_required}" != "n" ] \
&& [ "${blobs_required}" != "y" ]; then
blobs_required="y"
fi
# Override all payload directives with cmdline args
if [ ! -z ${payloads} ]; then
echo "setting payloads $payloads"
@@ -320,10 +308,6 @@ moverom() {
newrompath="$2"
cuttype="$3"
if [ "${blobs_required}" = "n" ]; then
newrompath="${newrompath%.rom}_noblobs.rom"
fi
printf "\nCreating new ROM image: %s\n" "${newrompath}"
if [ "${cuttype}" = "4MiB IFD BIOS region" ]; then
@@ -363,21 +347,6 @@ moverom() {
count=64k conv=notrunc
rm -f top64k.bin
fi
if [ "${microcode_required}" = "n" ]; then
_newrom_b="${newrompath%.rom}_nomicrocode.rom"
cp "${newrompath}" "${_newrom_b}" || exit 1
microcode_present="y"
"${cbfstool}" "${_newrom_b}" remove -n \
cpu_microcode_blob.bin || microcode_present="n"
if [ "${microcode_present}" = "n" ]; then
rm -f "${_newrom_b}" || exit 1
printf "REMARK: '%s' already lacks microcode\n" \
${newrompath}
printf "Renaming default ROM file instead.\n"
mv "${newrompath}" "${_newrom_b}" || exit 1
fi
fi
}
# expected: configs must not specify a payload
@@ -1,28 +0,0 @@
#!/usr/bin/env sh
# helper script: run make clean on bios_extract
#
# Copyright (C) 2023 Leah Rowe <info@minifree.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
printf "Cleaning the previous build of bios_extract\n"
[ ! -d "bios_extract/" ] && exit 0
make clean -BC bios_extract || exit 1
+1 -1
View File
@@ -49,7 +49,7 @@ pacman -S --needed --noconfirm nasm perl-libwww python subversion
pacman -S --needed --noconfirm base-devel
# for running the crostool script (to get mrc.bin file for t440p)
# for running the crostool script
pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip
# for cross-compiling ARM binaries
+1 -1
View File
@@ -48,7 +48,7 @@ apt-get -y install uuid-dev nasm
apt-get -y install build-essential
# for running the crostool script (to get mrc.bin file for t440p)
# for running the crostool script
apt-get -y install sharutils curl parted e2fsprogs unzip
# to use the right software versions and links for compiling
@@ -53,7 +53,7 @@ dnf -y install nasm perl-libwww-perl python3 subversion
dnf -y install gcc
# for running the crostool script (to get mrc.bin file for t440p)
# for running the crostool script
dnf -y install sharutils curl parted e2fsprogs unzip
# for cross-compiling ARM binaries
@@ -51,7 +51,7 @@ pacman -S --needed --noconfirm nasm perl-libwww python subversion
pacman -S --needed --noconfirm base-devel
# for running the crostool script (to get mrc.bin file for t440p)
# for running the crostool script
pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip
# for cross-compiling ARM binaries
@@ -46,7 +46,7 @@ apt-get -y install uuid-dev nasm
apt-get -y install build-essential
# for running the crostool script (to get mrc.bin file for t440p)
# for running the crostool script
apt-get -y install sharutils curl parted e2fsprogs unzip
# to use the right software versions and links for compiling
+1 -1
View File
@@ -46,7 +46,7 @@ xbps-install -y nasm perl-LWP python subversion
xbps-install -y base-devel
# for running the crostool script (to get mrc.bin file for t440p)
# for running the crostool script
xbps-install -y sharutils curl parted e2fsprogs unzip
# for cross-compiling ARM binaries
@@ -1,33 +0,0 @@
#!/usr/bin/env sh
# helper script: builds bios_extract source code
#
# Copyright (C) 2023 Leah Rowe <info@minifree.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
# Build "flashrom" (utility for flashing/dumping ROMs)
# --------------------------------------------------------------------
if [ ! -d "bios_extract/" ]; then
./download bios_extract
fi
printf "Building bios_extract\n"
make -BC bios_extract
-84
View File
@@ -26,9 +26,6 @@ version="version-unknown"
versiondate="version-date-unknown"
cbtree="default"
target=""
CONFIG_HAVE_MRC=""
CONFIG_HAVE_ME_BIN=""
CONFIG_KBC1126_FIRMWARE=""
ifdtool="cbutils/${cbtree}/ifdtool"
cbfstool="cbutils/${cbtree}/cbfstool"
@@ -73,25 +70,6 @@ make_archive()
continue
fi
CONFIG_HAVE_MRC="y"
CONFIG_HAVE_ME_BIN="y"
CONFIG_KBC1126_FIRMWARE="y"
grep "CONFIG_HAVE_ME_BIN=y" \
"resources/coreboot/${target}/config/"* \
|| CONFIG_HAVE_ME_BIN="n"
grep "CONFIG_HAVE_MRC=y" \
"resources/coreboot/${target}/config/"* \
|| CONFIG_HAVE_MRC="n"
grep "CONFIG_KBC1126_FIRMWARE=y" \
"resources/coreboot/${target}/config"/* \
|| CONFIG_KBC1126_FIRMWARE="n"
# remove ME/MRC/EC firmware from ROM images
if [ "${CONFIG_HAVE_ME_BIN}" = "y" ] \
|| [ "${target}" = "e6400nvidia_4mb" ]; then
strip_archive "${romdir}"
fi
printf "Generating release/%s/roms/%s-%s_%s.tar.xz\n" \
"${version}" "${projectname}" \
"${version}" "${target##*/}"
@@ -109,68 +87,6 @@ make_archive()
fi
}
strip_archive()
{
romdir=${1}
if [ ! -d coreboot/${cbtree} ]; then
./download coreboot ${cbtree} || exit 1
fi
./build module cbutils ${cbtree} || exit 1
rm -Rf "${romdir}_tmp" # dirty hack, to reduce disk io later
# rather than using /tmp, which might not be tmpfs
mkdir "${romdir}_tmp"
# Hash the rom before removing blobs
if [ ! -f "${romdir}/blobhashes" ]; then
printf "ROMs must match these hashes after blob insertion:" \
> "${romdir}/blobhashes"
fi
(
cd ${romdir} || err "subshell: cd"
sha1sum *.rom >> blobhashes || err "subshell: sha1sum"
)
for romfile in "${romdir}"/*.rom
do
strip_rom_image "${romfile}"
done
}
strip_rom_image()
{
romfile=${1}
if [ ! -f "${romfile}" ]; then
continue
fi
if [ "${CONFIG_HAVE_ME_BIN}" = "y" ]; then
${ifdtool} --nuke me "${romfile}" || exit 1
mv "${romfile}" "${romdir}_tmp"/
mv "${romfile}.new" "${romfile}"
fi
if [ "${CONFIG_HAVE_MRC}" = "y" ]
then
${cbfstool} "${romfile}" remove -n mrc.bin || exit 1
${cbfstool} "${romfile}" print
fi
if [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ]; then
${cbfstool} "${romfile}" remove -n ecfw1.bin || exit 1
${cbfstool} "${romfile}" remove -n ecfw2.bin || exit 1
fi
# TODO: replace this board-specific hack
if [ "${target}" = "e6400nvidia_4mb" ]; then
${cbfstool} "${romfile}" remove \
-n "pci10de,06eb.rom" \
|| exit 1
fi
}
err()
{
printf "%s: %s\n" $0 $1
+3 -24
View File
@@ -23,12 +23,11 @@ set -u -e
projectname="$(cat projectname)"
modlist="coreboot flashrom grub memtest86plus seabios me_cleaner u-boot"
modlist="${modlist} bios_extract"
modlist="coreboot flashrom grub memtest86plus seabios u-boot"
dirlist="resources util" # do not add blobs directory here. it's handled below
dirlist="resources util"
filelist="lbmk blobutil modify download build README.md COPYING Makefile update"
filelist="lbmk modify download build README.md COPYING Makefile update"
filelist="${filelist} version versiondate projectname .gitcheck gitclone"
version="version-unknown"
@@ -88,8 +87,6 @@ copy_files()
cp -R "${dir}/" "${srcdir}/"
done
copy_blobs
for i in ${filelist}; do
if [ ! -f "${i}" ]; then
rm -Rf "${srcdir}"
@@ -99,23 +96,6 @@ copy_files()
done
}
copy_blobs()
{
mkdir -p "${srcdir}"/blobs
# do not copy intel ME etc, but do copy ifd/gbe files
for i in t440p xx20 xx30 hp8200sff hp_ivybridge hp_sandybridge \
hp8300usdt; do
for j in ifd gbe 16_ifd; do
if [ -f "blobs/${i}/${j}.bin" ]; then
if [ ! -e "${srcdir}/blobs/${i}" ]; then
mkdir -p "${srcdir}/blobs/${i}"
fi
cp blobs/${i}/${j}.bin "${srcdir}/blobs/${i}"
fi
done
done
}
purge_files()
{
(
@@ -127,7 +107,6 @@ purge_files()
cd "${i}/" || err "cd2"
make distclean || err "make-distclean1"
)
make clean -BC default/util/kbc1126/ || err "make-clean1"
done
)