diff options
| author | Leah Rowe <leah@libreboot.org> | 2023-08-27 17:19:36 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2023-08-27 17:19:36 +0100 | 
| commit | 355eb765ff47b0855a6f5655312608d3264e70bf (patch) | |
| tree | 922e7e432c4c57182d640f6f889292d6805c1fb4 /resources/scripts/update/blobs/extract | |
| parent | eed34d3e8b0369270fd000c7ecafccdd93f4887e (diff) | |
move resources/scripts/ to script/
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'resources/scripts/update/blobs/extract')
| -rwxr-xr-x | resources/scripts/update/blobs/extract | 122 | 
1 files changed, 0 insertions, 122 deletions
| diff --git a/resources/scripts/update/blobs/extract b/resources/scripts/update/blobs/extract deleted file mode 100755 index fa76dfb5..00000000 --- a/resources/scripts/update/blobs/extract +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env sh -# script to automate extracting blobs from an existing vendor bios - -# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com> -# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org> -# SPDX-License-Identifier: GPL-3.0-only - -. "include/err.sh" - -sname="" -board="" -vendor_rom="" - -cbdir="coreboot/default" -cbcfgsdir="resources/coreboot" -ifdtool="${cbdir}/util/ifdtool/ifdtool" -mecleaner="me_cleaner/me_cleaner.py" -me7updateparser="resources/blobs/me7_update_parser.py" - -boarddir="" - -CONFIG_HAVE_MRC="" -CONFIG_ME_BIN_PATH="" -CONFIG_GBE_BIN_PATH="" -CONFIG_IFD_BIN_PATH="" - -_me_destination="" -_gbe_destination="" -_ifd_destination="" - -main() -{ -	sname=${0} -	[ $# -lt 2 ] && err "Missing arguments (fewer than two)." - -	board="${1}" -	vendor_rom="${2}" -	boarddir="${cbcfgsdir}/${board}" - -	check_board -	build_dependencies -	extract_blobs -} - -check_board() -{ -	if [ ! -f "${vendor_rom}" ]; then -		err "check_board: ${board}: file does not exist: ${vendor_rom}" -	elif [ ! -d "${boarddir}" ]; then -		err "check_board: ${board}: target not defined" -	elif [ ! -f "${boarddir}/target.cfg" ]; then -		err "check_board: ${board}: missing target.cfg" -	fi -} - -build_dependencies() -{ -	if [ ! -d me_cleaner ]; then -		./fetch me_cleaner || \ -		    err "build_dependencies: can't fetch me_cleaner" -	elif [ ! -d "${cbdir}" ]; then -		./fetch_trees coreboot default || \ -		    err "build_dependencies: can't fetch coreboot" -	elif [ ! -f "${ifdtool}" ]; then -		make -C "${ifdtool%/ifdtool}" || \ -		    err "build_dependencies: can't build ifdtool" -	fi -} - -extract_blobs() -{ -	printf "extracting blobs for %s from %s\n" ${board} ${vendor_rom} - -	set -- "${boarddir}/config/"* -	. "${1}" -	. "${boarddir}/target.cfg" - -	[ "$CONFIG_HAVE_MRC" != "y" ] || \ -		./update blobs mrc || err "extract_blobs: can't fetch mrc" - -	_me_destination=${CONFIG_ME_BIN_PATH#../../} -	_gbe_destination=${CONFIG_GBE_BIN_PATH#../../} -	_ifd_destination=${CONFIG_IFD_BIN_PATH#../../} - -	extract_blob_intel_me -	extract_blob_intel_gbe_nvm - -	# Cleans up other files extracted with ifdtool -	rm -f flashregion*.bin || err "extract_blobs: !rm -f flashregion*.bin" - -	[ -f "${_ifd_destination}" ] || err "extract_blobs: Cannot extract IFD" -	printf "gbe, ifd, and me extracted to %s\n" "${_me_destination%/*}" -} - -extract_blob_intel_me() -{ -	printf "extracting clean ime and modified ifd\n" - -	"${mecleaner}" -D "${_ifd_destination}" \ -		-M "${_me_destination}" "${vendor_rom}" -t -r -S || \ -	    "${me7updateparser}" \ -		-O "${_me_destination}" "${vendor_rom}" || \ -	    err "extract_blob_intel_me: cannot extract from vendor rom" -} - -extract_blob_intel_gbe_nvm() -{ -	printf "extracting gigabit ethernet firmware" -	./"${ifdtool}" -x "${vendor_rom}" || \ -	    err "extract_blob_intel_gbe_nvm: cannot extract gbe.bin from rom" -	mv flashregion*gbe.bin "${_gbe_destination}" || \ -	    err "extract_blob_intel_gbe_nvm: cannot move gbe.bin" -} - -print_help() -{ -	printf "Usage: ./update blobs extract {boardname} {path/to/vendor_rom}\n" -	printf "Example: ./update blobs extract x230 12mb_flash.bin\n" -	printf "\nYou need to specify exactly 2 arguments\n" -} - -main $@ | 
