summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/inject.sh48
-rw-r--r--include/lib.sh3
2 files changed, 20 insertions, 31 deletions
diff --git a/include/inject.sh b/include/inject.sh
index e2987aad..f1ecb0d5 100644
--- a/include/inject.sh
+++ b/include/inject.sh
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: GPL-3.0-only
+# SPD-License-Identifier: GPL-3.0-only
# Copyright (c) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# Copyright (c) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# Copyright (c) 2023-2025 Leah Rowe <leah@libreboot.org>
@@ -121,10 +121,10 @@ fetch()
x_ mkdir -p "${_dest%/*}"
remkdir "$appdir"
- extract_archive "$_dl" "$appdir" "$dl_type" || \
+ [ "$dl_type" = "fsp" ] || extract_archive "$_dl" "$appdir" || \
[ "$dl_type" = "e6400vga" ] || err "$_dest $dl_type: !extract"
- eval "extract_$dl_type"
+ x_ extract_$dl_type "$_dl" "$appdir"
set -u -e
e "$_dest" f missing && err "!extract_$dl_type. $dontflash"; :
}
@@ -142,11 +142,14 @@ extract_intel_me()
[ "$ME11bootguard" = "y" ] && x_ ./mk -f deguard
extract_intel_me_bruteforce
- if [ "$ME11bootguard" = "y" ]; then
- apply_me11_deguard_mod
- else
- mv "$_metmp" "$_me" || err "!mv $_metmp $_me - $dontflash"
- fi
+ [ "$ME11bootguard" != "y" ] && x_ mv "$_metmp" "$_me" && return 0
+
+ (
+ x_ cd src/deguard/
+ x_ ./finalimage.py --delta "data/delta/$ME11delta" --version \
+ "$ME11version" --pch "$ME11pch" --sku "$ME11sku" \
+ --fake-fpfs data/fpfs/zero --input "$_metmp" --output "$_me"
+ ) || err "Error running deguard for $_me - $dontflash"; :
}
extract_intel_me_bruteforce()
@@ -162,9 +165,11 @@ extract_intel_me_bruteforce()
[ "${cdir#/a}" != "$cdir" ] && cdir="${cdir#/}"
cd "$cdir" || err "extract_intel_me: !cd \"$cdir\" - $dontflash"
for i in *; do
- e "$_metmp" f && break
+ c=0 && e "$_metmp" f && break
[ -L "$i" ] && continue
- if [ -f "$i" ]; then
+ [ -e "$i" ] || continue
+ [ -d "$i" ] && extract_intel_me_bruteforce "$cdir/$i" && c=1
+ if [ $c -eq 0 ] && [ -f "$i" ]; then
_r="-r" && [ -n "$mfs" ] && _r=""
"$mecleaner" $mfs $_r -t -O "$sdir/vendorfile" \
-M "$_metmp" "$i" && break
@@ -173,10 +178,6 @@ extract_intel_me_bruteforce()
_7ztest="${_7ztest}a"
extract_archive "$i" "$_7ztest" || continue
extract_intel_me_bruteforce "$cdir/$_7ztest"
- elif [ -d "$i" ]; then
- extract_intel_me_bruteforce "$cdir/$i"
- else
- continue
fi
cdir="$1"; [ "${cdir#/a}" != "$cdir" ] && cdir="${cdir#/}"
cd "$cdir" || :
@@ -185,23 +186,8 @@ extract_intel_me_bruteforce()
rm -Rf "$sdir" || err "extract_intel_me: !rm -Rf $sdir - $dontflash"
}
-apply_me11_deguard_mod()
-{
- (
- x_ cd src/deguard/
- x_ ./finalimage.py --delta "data/delta/$ME11delta" \
- --version "$ME11version" \
- --pch "$ME11pch" --sku "$ME11sku" --fake-fpfs data/fpfs/zero \
- --input "$_metmp" --output "$_me"
- ) || err "Error running deguard for $_me - $dontflash"
-}
-
extract_archive()
{
- [ $# -gt 2 ] && [ "$3" = "fsp" ] && x_ python \
- "$cbdir/3rdparty/fsp/Tools/SplitFspBin.py" split -f "$1" -o "$2" \
- -n "Fsp.fd" && return 0
-
innoextract "$1" -d "$2" || python "$pfs_extract" "$1" -e || 7z x \
"$1" -o"$2" || unar "$1" -o "$2" || unzip "$1" -d "$2" || return 1
@@ -257,7 +243,6 @@ extract_sch5545ec()
extract_tbfw()
{
chkvars TBFW_size && fe_ copy_tbfw "$appdir" -type f -name "TBT.bin"
- [ -f "$_dest" ] || err "$board: Could not extract tbfw"; :
}
copy_tbfw()
@@ -268,7 +253,8 @@ copy_tbfw()
extract_fsp()
{
- x_ cp "$appdir/"Fsp_*.fd "${_dest%/*}"
+ x_ python "$cbdir/3rdparty/fsp/Tools/SplitFspBin.py" split -f "$1" \
+ -o "$2" -n "Fsp.fd" && x_ cp "$appdir/"Fsp_*.fd "${_dest%/*}"
}
fail_inject()
diff --git a/include/lib.sh b/include/lib.sh
index c9be740a..43b1a318 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -176,6 +176,8 @@ x_()
err()
{
+ set -u -e
+
xbmk_err_val=0
real_err="" && [ -n "${xbmk_err+x}" ] && real_err="$xbmk_err"
@@ -196,6 +198,7 @@ err()
err_()
{
+ [ $# -lt 1 ] && printf "ERROR (but no error message provided)\n" 1>&2
[ $# -lt 1 ] || printf "ERROR %s: %s\n" "$0" "$1" 1>&2 || :
exit 1
}