mirror of
https://github.com/linuxboot/heads.git
synced 2025-01-31 16:35:25 +00:00
144f9c147e
Before, the T440p blob scripts would look for Coreboot using the find command. Now, we require the user to specify the path to Coreboot in the COREBOOT_DIR environment variable. Also, add an output directory argument to each script. These changes will make it easier to integrate with the Heads build system and CI.
43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
function usage() {
|
|
echo -n \
|
|
"Usage: $(basename "$0") path_to_output_directory
|
|
Obtain mrc.bin from a Haswell Chromebook firmware image.
|
|
"
|
|
}
|
|
|
|
MRC_BIN_HASH="d368ba45096a3b5490ed27014e1f9004bc363434ffdce0c368c08a89c4746722"
|
|
|
|
if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
|
|
if [[ "${1:-}" == "--help" ]]; then
|
|
usage
|
|
else
|
|
if [[ -z "${COREBOOT_DIR}" ]]; then
|
|
echo "ERROR: No COREBOOT_DIR variable defined."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -f "$1/mrc.bin" ]]; then
|
|
pushd "${COREBOOT_DIR}"
|
|
|
|
# https://doc.coreboot.org/northbridge/intel/haswell/mrc.bin.html#obtaining-mrc-bin
|
|
make -C util/cbfstool
|
|
cd util/chromeos
|
|
./crosfirmware.sh peppy
|
|
../cbfstool/cbfstool coreboot-*.bin extract -f mrc.bin -n mrc.bin -r RO_SECTION
|
|
|
|
popd
|
|
|
|
mv "${COREBOOT_DIR}/util/chromeos/mrc.bin" "$1/mrc.bin"
|
|
fi
|
|
|
|
if ! echo "${MRC_BIN_HASH} $1/mrc.bin" | sha256sum --check; then
|
|
echo "ERROR: SHA256 checksum for mrc.bin doesn't match."
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|