Add GOP driver to EDK2 build

This commit is contained in:
Jeremy Soller 2019-05-02 19:43:10 -06:00
parent 8fdc4627cb
commit a95b76e3ef
No known key found for this signature in database
GPG Key ID: E988B49EE78A7FB1
3 changed files with 22 additions and 16 deletions

2
edk2

@ -1 +1 @@
Subproject commit 8ef41276638153b0c610207ab4b1a8a70c2a4456 Subproject commit c19cc0f0b1582ab1c0db62c421a880ecb986c762

View File

@ -12,8 +12,6 @@ UEFIPAYLOAD="$(realpath "$1")"
BUILD_TYPE=RELEASE BUILD_TYPE=RELEASE
TOOLCHAIN=GCC5 TOOLCHAIN=GCC5
export PACKAGES_PATH="$(realpath edk2-platforms):$(realpath apps)"
pushd edk2 >/dev/null pushd edk2 >/dev/null
make -C BaseTools --jobs="$(nproc)" make -C BaseTools --jobs="$(nproc)"
source edksetup.sh --reconfig source edksetup.sh --reconfig

View File

@ -9,35 +9,43 @@ then
fi fi
MODEL="$1" MODEL="$1"
if [ ! -d "models/${MODEL}" ] if [ ! -d "models/$1" ]
then then
echo "model '${MODEL}' not found" >&2 echo "model '$1' not found" >&2
exit 1 exit 1
fi fi
MODEL_DIR="$(realpath "models/${MODEL}")" MODEL_DIR="$(realpath "models/${MODEL}")"
rm -rf build BUILD="$(realpath "build/${MODEL}")"
mkdir -p build
# 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) # Rebuild firmware-setup (used by edk2)
touch apps/firmware-setup/Cargo.toml touch apps/firmware-setup/Cargo.toml
make -C apps/firmware-setup make -C apps/firmware-setup
# Rebuild CorebootPayloadPkg using edk2 # Rebuild CorebootPayloadPkg using edk2
export PACKAGES_PATH="${MODEL_DIR}:$(realpath edk2-platforms):$(realpath apps)" \
./scripts/_build/edk2.sh build/UEFIPAYLOAD.fd \ ./scripts/_build/edk2.sh \
-D FIRMWARE_OPEN_FIRMWARE_SETUP="firmware-setup/firmware-setup.inf" "${UEFIPAYLOAD}" \
-D FIRMWARE_OPEN_FIRMWARE_SETUP="firmware-setup/firmware-setup.inf" \
-D FIRMWARE_OPEN_GOP="IntelGopDriver.inf"
# Rebuild coreboot # Rebuild coreboot
export FIRMWARE_OPEN_UEFIPAYLOAD="$(realpath build/UEFIPAYLOAD.fd)" FIRMWARE_OPEN_MODEL_DIR="${MODEL_DIR}" \
export FIRMWARE_OPEN_MODEL_DIR="${MODEL_DIR}" FIRMWARE_OPEN_UEFIPAYLOAD="${UEFIPAYLOAD}" \
COREBOOT="$(realpath "build/${MODEL}.rom")" ./scripts/_build/coreboot.sh \
./scripts/_build/coreboot.sh "${MODEL_DIR}/coreboot.config" "${COREBOOT}" "${MODEL_DIR}/coreboot.config" \
"${COREBOOT}"
# Rebuild firmware-update # Rebuild firmware-update
set -x
SHASUM="$(sha384sum "${COREBOOT}" | cut -d " " -f 1)" SHASUM="$(sha384sum "${COREBOOT}" | cut -d " " -f 1)"
USB="$(realpath "build/${MODEL}.img")"
export BASEDIR="system76-${SHASUM}" export BASEDIR="system76-${SHASUM}"
pushd apps/firmware-update >/dev/null pushd apps/firmware-update >/dev/null
rm -rf "build/x86_64-efi-pe" rm -rf "build/x86_64-efi-pe"