From 6e191000fff8067cd6f2257d6ca986fbbf350e6a Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 31 May 2020 01:39:51 +0200 Subject: [PATCH] Add script which extracts blobs from romdump. --- blobs/t430s/extract.sh | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 blobs/t430s/extract.sh diff --git a/blobs/t430s/extract.sh b/blobs/t430s/extract.sh new file mode 100755 index 000000000..ea05bbf7f --- /dev/null +++ b/blobs/t430s/extract.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +function printusage { + echo "Usage: $0 -f -m -i " + exit 0 +} + +BLOBDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +MECLEAN="$BLOBDIR/me_cleaner/me_cleaner.py" +IFDTOOL="$BLOBDIR/ifdtool/ifdtool" + +if [ "$#" -eq 0 ] || [ "$1" == "-h" ] || [ "$1" == "--help" ]; +then printusage; fi + +while getopts ":f:m:i:" opt; do + case $opt in + f) + FILE="$OPTARG" + ;; + m) + if [ -x "$OPTARG" ]; then + MECLEAN="$OPTARG" + fi + ;; + i) + if [ -x "$OPTARG" ]; then + IFDTOOL="$OPTARG" + fi + ;; + esac +done + +if [ ! -f "$FILE" ]; then + echo "romdump required but not found. Aborting." + exit 1; +fi + +if [ ! -f "$MECLEAN" ]; then + echo "me_cleaner.py required but not found. Aborting." + exit 1; +fi +MECLEAN=$(realpath $MECLEAN) + +if [ ! -f "$IFDTOOL" ]; then + echo "ifdtool required but not found. Aborting." + exit 1; +fi +IFDTOOL=$(realpath $IFDTOOL) + +echo "FILE: $FILE" +echo "ME: $MECLEAN" +echo "IFD: $IFDTOOL" + +bioscopy=$(mktemp) +extractdir=$(mktemp -d) + +cp "$FILE" $bioscopy + +cd "$extractdir" +$IFDTOOL -x $bioscopy +cp "$extractdir/flashregion_3_gbe.bin" "$BLOBDIR/gbe.bin" +$MECLEAN -O "$BLOBDIR/me.bin" -r -t "$extractdir/flashregion_2_intel_me.bin" +$IFDTOOL -n "$BLOBDIR/layout.txt" $bioscopy +$IFDTOOL -x $bioscopy.new +cp "$extractdir/flashregion_0_flashdescriptor.bin" "$BLOBDIR/ifd.bin" + +rm "$bioscopy" +rm "$bioscopy.new" +rm -r "$extractdir"