Verified Commit e4a7ccba authored by Matt Devillier's avatar Matt Devillier
Browse files

Update configs to 4.8.1-Purism-6



-6 images will be built with updated microcode, and
bumped SeaBIOS version (1.12.0).

Add build script for dev use.

Change-Id: I1ea470ce710a3d32cc0e5a3be591dff343be1932
Signed-off-by: Matt Devillier's avatarMatt DeVillier <matt.devillier@puri.sm>
parent 168a6ee4
#!/usr/bin/bash
set -e
# Blob hashes for validation
#
# Librem 13 v1 and Librem 15 v2 binary blob hashes
#
# microcode cpu306D4_platC0_ver0000002D_2019-03-07_PRD_CDB7ABE3
BDW_UCODE_SHA="d6076e5f26e0863d47564ccda5a22e7c493e2b14e1bcdc90ec32377a8f0ed3d0"
# flash descriptor extracted from stock AMI firmware, unlocked, ME/BIOS regions resized
BDW_DESCRIPTOR_SHA="976209b5e2d5c19f92de770b1b619ddb38bf587cf01d8c57d70d2abd826d9e11"
# ME 10.0.32.1000 CON, run thru me_cleaner with '-S' param
BDW_ME_SHA="1e8f08c3eb31a0fdb91ec0222d4398b9192141502941a5262e9155915ffb6991"
# MRC blob, refcode extracted from google/tidus recovery image
BDW_MRC_SHA="dd05ab481e1fe0ce20ade164cf3dbef3c479592801470e6e79faa17624751343"
BDW_REFCODE_SHA="8a919ffece61ba21664b1028b0ebbfabcd727d90c1ae2f72b48152b8774323a4"
# vbios extracted from stock AMI firmware
BDW_VBIOS_SHA="e1cd1b4f2bd21e036145856e2d092eb47c27cdb4b717c3b182a18d8c0b1d0f01"
#
# Librem 13 v2/v3 and Librem 15 v3 binary blob hashes
#
# microcode cpu406E3_platC0_ver000000CC_2019-04-01_PRD_95AEDE54
SKL_UCODE_SHA="6c6e420fe0490de51a504303d4c5d12ef8832ffb98a2d5327a9a07f05e62b01f"
# flash descriptor extracted from stock AMI firmware, unlocked, ME/BIOS regions resized
SKL_DESCRIPTOR_SHA="642ca36f52aabb5198b82e013bf64a73a5148693a58376fffce322a4d438b524"
# ME 11.0.18.1002 CON, run thru me_cleaner with '-S -w "MFS"' params
SKL_ME_SHA="cf06d3eb8b24490a1ab46fd988b6cef822e5347cd6a2e92bc332cb4a376eb8bc"
# vbios extracted from stock AMI firmware
SKL_VBIOS_SHA="18d861485b86f93dad2b294cebd40b99eb03493d32b514e731ddb8dcf3a1ce83"
# FSP binaries from https://github.com/IntelFsp/FSP/raw/324ffc02523bf23a907a3ff305b43b5047adf1c5
SKL_FSPM_SHA="5da3ad7718eb3f6700fb9d97be988d9c8bdd2d8b5910273a80928c49122d5b2d"
SKL_FSPS_SHA="c81ffa40df0b6cd6cfde4f476d452a1f6f2217bc96a3b98a4fa4a037ee7039cf"
SKL_VBT_SHA="0ba40c1b8c0fb030a0e1a789eda8b2a7369339a410ad8c4620719e451ea69b98"
#
# Librem 13 v4 and Librem 15 v4 binary blob hashes
#
# microcode cpu806E9_platC0_ver000000B4_2019-04-01_PRD_3D6ECAB4
KBL_UCODE_SHA="0e3a06d8949a1d7df2c75b414765b98181766e3bd5bc7c317fad65bfcf7c276b"
# flash descriptor extracted from stock AMI firmware, unlocked, ME/BIOS regions resized
KBL_DESCRIPTOR_SHA="642ca36f52aabb5198b82e013bf64a73a5148693a58376fffce322a4d438b524"
# ME 11.6.0.1126 CON, run thru me_cleaner with '-S -w "MFS"' params
KBL_ME_SHA="0eec2e1135193941edd39d0ec0f463e353d0c6c9068867a2f32a72b64334fb34"
# vbios extracted from stock AMI firmware
KBL_VBIOS_SHA="7181b60e119d08d5c2a265071093f6973dbea9c9f25d890a7b377059cf733a98"
# FSP binaries from https://github.com/IntelFsp/FSP/raw/324ffc02523bf23a907a3ff305b43b5047adf1c5
KBL_FSPM_SHA="5da3ad7718eb3f6700fb9d97be988d9c8bdd2d8b5910273a80928c49122d5b2d"
KBL_FSPS_SHA="c81ffa40df0b6cd6cfde4f476d452a1f6f2217bc96a3b98a4fa4a037ee7039cf"
KBL_VBT_SHA="0ba40c1b8c0fb030a0e1a789eda8b2a7369339a410ad8c4620719e451ea69b98"
verify_blob() {
local filename=$1
local hash=$2
local description=$3
if [[ -z "$filename" || -z "$hash" || -z "$description" ]]; then
echo "usage: verify_blob <file> <hash> <description>"
exit 1
fi
sha=$(sha256sum "${BLOBS_DIR}/$filename" | awk '{print $1}')
if [ "$sha" != "$hash" ]; then
echo "$description has the wrong SHA256 hash"
exit 1;
fi
}
verify_blobs() {
case $BOARD in
"librem13v1" | "librem15v2" )
BLOBS_DIR="3rdparty/blobs/mainboard/purism/librem_bdw"
verify_blob cpu_microcode_blob.bin $BDW_UCODE_SHA "Intel Microcode Update"
verify_blob descriptor.bin $BDW_DESCRIPTOR_SHA "Intel Flash Descriptor"
verify_blob me.bin $BDW_ME_SHA "Intel ME firmware"
verify_blob mrc.bin $BDW_MRC_SHA "Memory Reference Code"
verify_blob refcode.elf $BDW_REFCODE_SHA "Silicon Init Reference Code"
verify_blob vgabios.bin $BDW_VBIOS_SHA "VGA BIOS"
;;
"librem13v2" | "librem13v3" | "librem15v3" )
BLOBS_DIR="3rdparty/blobs/mainboard/purism/librem_skl"
verify_blob cpu_microcode_blob.bin $SKL_UCODE_SHA "Intel Microcode Update"
verify_blob descriptor.bin $SKL_DESCRIPTOR_SHA "Intel Flash Descriptor"
verify_blob me.bin $SKL_ME_SHA "Intel ME firmware"
verify_blob vgabios.bin $SKL_VBIOS_SHA "VGA BIOS"
verify_blob vbt.bin $SKL_VBT_SHA "VBT"
verify_blob fspm.bin $SKL_FSPM_SHA "FSP-M"
verify_blob fsps.bin $SKL_FSPS_SHA "FSP-S"
;;
"librem13v4" | "librem15v4" )
BLOBS_DIR="3rdparty/blobs/mainboard/purism/librem_kbl"
verify_blob cpu_microcode_blob.bin $KBL_UCODE_SHA "Intel Microcode Update"
verify_blob descriptor.bin $KBL_DESCRIPTOR_SHA "Intel Flash Descriptor"
verify_blob me.bin $KBL_ME_SHA "Intel ME firmware"
verify_blob vgabios.bin $KBL_VBIOS_SHA "VGA BIOS"
verify_blob vbt.bin $KBL_VBT_SHA "VBT"
verify_blob fspm.bin $KBL_FSPM_SHA "FSP-M"
verify_blob fsps.bin $KBL_FSPS_SHA "FSP-S"
;;
esac
}
# check build target
build_targets=("librem13v1" "librem15v2" "librem13v2" "librem13v3" "librem15v3" "librem13v4" "librem15v4")
if [[ ! " ${build_targets[@]} " =~ " $1 " ]]; then
echo "You must specify a valid build target:"
echo "${build_targets[@]}"
exit 1
fi
BOARD=$1
verify_blobs
# do a clean build
make distclean
# copy config
cp configs/config.${BOARD} .config
make olddefconfig
# build coreboot and payload(s)
if ! make; then
echo "Error building coreboot"
exit 1
fi
# get git rev
rev=$(git describe --tags --dirty)
# copy to root dir
filename="coreboot-${BOARD}-Purism-${rev}.rom"
cp build/coreboot.rom ./$filename
echo "$filename"
# print SHA for BIOS region (should match utility script)
util/ifdtool/ifdtool -x $filename >/dev/null
echo "SHA: $(sha256sum flashregion_1_bios.bin | awk '{print $1}')"
rm -f flashregion* 2>/dev/null
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -16,5 +16,7 @@ CONFIG_REFCODE_BLOB_FILE="3rdparty/blobs/mainboard/purism/librem_bdw/refcode.elf
CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/purism/librem_bdw/cpu_microcode_blob.bin"
CONFIG_CHECK_ME=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -20,5 +20,7 @@ CONFIG_INTEL_GMA_ADD_VBT_DATA_FILE=y
CONFIG_FSP_M_XIP=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_LPC_TPM=y
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -21,5 +21,7 @@ CONFIG_INTEL_GMA_ADD_VBT_DATA_FILE=y
CONFIG_FSP_M_XIP=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_LPC_TPM=y
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -23,5 +23,7 @@ CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/purism/librem_kbl/vbt.bin"
CONFIG_FSP_M_XIP=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_LPC_TPM=y
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -17,5 +17,7 @@ CONFIG_REFCODE_BLOB_FILE="3rdparty/blobs/mainboard/purism/librem_bdw/refcode.elf
CONFIG_CPU_UCODE_BINARIES="3rdparty/blobs/mainboard/purism/librem_bdw/cpu_microcode_blob.bin"
CONFIG_CHECK_ME=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -20,5 +20,7 @@ CONFIG_INTEL_GMA_ADD_VBT_DATA_FILE=y
CONFIG_FSP_M_XIP=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_LPC_TPM=y
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_LOCALVERSION="4.8.1-Purism-5"
CONFIG_LOCALVERSION="4.8.1-Purism-6"
CONFIG_USE_BLOBS=y
CONFIG_BOOTSPLASH_IMAGE=y
CONFIG_VENDOR_PURISM=y
......@@ -23,5 +23,7 @@ CONFIG_INTEL_GMA_VBT_FILE="3rdparty/blobs/mainboard/purism/librem_kbl/vbt.bin"
CONFIG_FSP_M_XIP=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_LPC_TPM=y
CONFIG_SEABIOS_REVISION=y
CONFIG_SEABIOS_REVISION_ID="rel-1.12.0"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment