diff --git a/.gitmodules b/.gitmodules index 8ccf72b..e504bdc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -94,3 +94,7 @@ path = tools/ipxe url = https://github.com/ipxe/ipxe.git branch = master +[submodule "ec"] + path = ec + url = https://github.com/system76/ec.git + branch = master diff --git a/ec b/ec new file mode 160000 index 0000000..8559f6f --- /dev/null +++ b/ec @@ -0,0 +1 @@ +Subproject commit 8559f6f48a50d65b3eb7ca23c0208cf19d59bdff diff --git a/models/darp5/ec.config b/models/darp5/ec.config new file mode 100644 index 0000000..84dd60b --- /dev/null +++ b/models/darp5/ec.config @@ -0,0 +1 @@ +BOARD=system76/darp5 diff --git a/models/darp6/ec.config b/models/darp6/ec.config new file mode 100644 index 0000000..84dd60b --- /dev/null +++ b/models/darp6/ec.config @@ -0,0 +1 @@ +BOARD=system76/darp5 diff --git a/models/galp3-c/ec.config b/models/galp3-c/ec.config new file mode 100644 index 0000000..a47bf34 --- /dev/null +++ b/models/galp3-c/ec.config @@ -0,0 +1 @@ +BOARD=system76/galp3-c diff --git a/models/galp4/ec.config b/models/galp4/ec.config new file mode 100644 index 0000000..a47bf34 --- /dev/null +++ b/models/galp4/ec.config @@ -0,0 +1 @@ +BOARD=system76/galp3-c diff --git a/models/lemp9/ec.config b/models/lemp9/ec.config new file mode 100644 index 0000000..ae5e2f8 --- /dev/null +++ b/models/lemp9/ec.config @@ -0,0 +1 @@ +BOARD=system76/lemp9 diff --git a/scripts/_build/ec.sh b/scripts/_build/ec.sh new file mode 100755 index 0000000..9d978cd --- /dev/null +++ b/scripts/_build/ec.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e + +if [ -z "$1" -o ! -e "$1" -o -z "$2" ] +then + echo "$0 " >&2 + exit 1 +fi + +source "$1" +make -C ec clean +make -C ec BOARD=${BOARD} VERSION=${VERSION} -j $(nproc) +cp "ec/build/${BOARD}/${VERSION}/ec.rom" "$2" diff --git a/scripts/build.sh b/scripts/build.sh index 2e9f9ce..09be304 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -4,7 +4,7 @@ set -e if [ -z "$1" ] then - echo "$0 [model]" >&2 + echo "$0 " >&2 exit 1 fi MODEL="$1" @@ -79,6 +79,15 @@ KERNELVERSION="${VERSION}" \ "${MODEL_DIR}/coreboot.config" \ "${COREBOOT}" +# Rebuild EC firmware for System76 EC models +if [ ! -e "${MODEL_DIR}/ec.rom" -a -e "${MODEL_DIR}/ec.config" ] +then + env VERSION="${VERSION}" \ + ./scripts/_build/ec.sh \ + "${MODEL_DIR}/ec.config" \ + "${BUILD}/ec.rom" +fi + if [ "${MODEL}" != "qemu" ] then # Rebuild firmware-update