From a95b76e3efaeed27e6897c440bbc24692ce4d504 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 2 May 2019 19:43:10 -0600 Subject: [PATCH] Add GOP driver to EDK2 build --- edk2 | 2 +- scripts/_build/edk2.sh | 2 -- scripts/build.sh | 34 +++++++++++++++++++++------------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/edk2 b/edk2 index 8ef4127..c19cc0f 160000 --- a/edk2 +++ b/edk2 @@ -1 +1 @@ -Subproject commit 8ef41276638153b0c610207ab4b1a8a70c2a4456 +Subproject commit c19cc0f0b1582ab1c0db62c421a880ecb986c762 diff --git a/scripts/_build/edk2.sh b/scripts/_build/edk2.sh index 4fe5367..f6bba50 100755 --- a/scripts/_build/edk2.sh +++ b/scripts/_build/edk2.sh @@ -12,8 +12,6 @@ UEFIPAYLOAD="$(realpath "$1")" BUILD_TYPE=RELEASE TOOLCHAIN=GCC5 -export PACKAGES_PATH="$(realpath edk2-platforms):$(realpath apps)" - pushd edk2 >/dev/null make -C BaseTools --jobs="$(nproc)" source edksetup.sh --reconfig diff --git a/scripts/build.sh b/scripts/build.sh index 641dac7..674399c 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -9,35 +9,43 @@ then fi MODEL="$1" -if [ ! -d "models/${MODEL}" ] +if [ ! -d "models/$1" ] then - echo "model '${MODEL}' not found" >&2 + echo "model '$1' not found" >&2 exit 1 fi MODEL_DIR="$(realpath "models/${MODEL}")" -rm -rf build -mkdir -p build +BUILD="$(realpath "build/${MODEL}")" + +# Clean build directory +rm -rf "${BUILD}" +mkdir -p "${BUILD}" + +UEFIPAYLOAD="${BUILD}/UEFIPAYLOAD.fd" +COREBOOT="${BUILD}/coreboot.rom" +USB="${BUILD}/usb.img" # Rebuild firmware-setup (used by edk2) touch apps/firmware-setup/Cargo.toml make -C apps/firmware-setup # Rebuild CorebootPayloadPkg using edk2 -export -./scripts/_build/edk2.sh build/UEFIPAYLOAD.fd \ - -D FIRMWARE_OPEN_FIRMWARE_SETUP="firmware-setup/firmware-setup.inf" +PACKAGES_PATH="${MODEL_DIR}:$(realpath edk2-platforms):$(realpath apps)" \ + ./scripts/_build/edk2.sh \ + "${UEFIPAYLOAD}" \ + -D FIRMWARE_OPEN_FIRMWARE_SETUP="firmware-setup/firmware-setup.inf" \ + -D FIRMWARE_OPEN_GOP="IntelGopDriver.inf" # Rebuild coreboot -export FIRMWARE_OPEN_UEFIPAYLOAD="$(realpath build/UEFIPAYLOAD.fd)" -export FIRMWARE_OPEN_MODEL_DIR="${MODEL_DIR}" -COREBOOT="$(realpath "build/${MODEL}.rom")" -./scripts/_build/coreboot.sh "${MODEL_DIR}/coreboot.config" "${COREBOOT}" +FIRMWARE_OPEN_MODEL_DIR="${MODEL_DIR}" \ +FIRMWARE_OPEN_UEFIPAYLOAD="${UEFIPAYLOAD}" \ + ./scripts/_build/coreboot.sh \ + "${MODEL_DIR}/coreboot.config" \ + "${COREBOOT}" # Rebuild firmware-update -set -x SHASUM="$(sha384sum "${COREBOOT}" | cut -d " " -f 1)" -USB="$(realpath "build/${MODEL}.img")" export BASEDIR="system76-${SHASUM}" pushd apps/firmware-update >/dev/null rm -rf "build/x86_64-efi-pe"