Personal Submodule Forks and Docker Build

- Modify ec, coreboot, and edk submodules to point to personal
  forks using relative URL path
- Add image and script to build firmware in docker container
- Move firmware update build steps from flash.sh to build.sh
  so it can be built inside docker container
This commit is contained in:
Sravan Balaji
2024-06-29 10:00:26 -04:00
parent 7265ca3579
commit 860dcb1039
7 changed files with 110 additions and 19 deletions

View File

@@ -120,4 +120,21 @@ then
mv -v "${USB}.partial" "${USB}"
fi
# Define base directory for firmware-update
export BASEDIR="system76-firmware-update"
# Clean build directory
mkdir -p build
BUILD="$(realpath "build/${MODEL}")"
rm -rf "${BUILD:?}/${BASEDIR}"
mkdir -p "${BUILD}/${BASEDIR}"
# Rebuild and copy firmware-update
pushd apps/firmware-update >/dev/null
rm -rf "build/x86_64-unknown-uefi"
make "build/x86_64-unknown-uefi/boot.efi"
cp -v "build/x86_64-unknown-uefi/boot.efi" "${BUILD}/${BASEDIR}"
cp -rv "res" "${BUILD}/${BASEDIR}"
popd >/dev/null
echo "Built '${VERSION}' for '${MODEL}'"

20
scripts/docker-build-env.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
DOCKER_USER=${USER}
BUILD_DIR=/home/${DOCKER_USER}/firmware-open
GIT_NAME="Sravan Balaji"
GIT_EMAIL="balajsra@umich.edu"
docker buildx build \
-f ./docker/Dockerfile \
--tag system76-firmware-open-build-env:latest \
--build-arg="USER=${DOCKER_USER}" \
--build-arg="BUILD_DIR=${BUILD_DIR}" \
--build-arg="GIT_NAME=${GIT_NAME}" \
--build-arg="GIT_EMAIL=${GIT_EMAIL}" \
.
docker run -it \
--volume .:${BUILD_DIR} \
system76-firmware-open-build-env:latest \
/bin/bash

View File

@@ -24,20 +24,7 @@ fi
# Define base directory for firmware-update
export BASEDIR="system76-firmware-update"
# Clean build directory
mkdir -p build
BUILD="$(realpath "build/${MODEL}")"
rm -rf "${BUILD:?}/${BASEDIR}"
mkdir -p "${BUILD}/${BASEDIR}"
# Rebuild and copy firmware-update
pushd apps/firmware-update >/dev/null
rm -rf "build/x86_64-unknown-uefi"
make "build/x86_64-unknown-uefi/boot.efi"
cp -v "build/x86_64-unknown-uefi/boot.efi" "${BUILD}/${BASEDIR}"
cp -rv "res" "${BUILD}/${BASEDIR}"
popd >/dev/null
# Copy firmware
mkdir -p "${BUILD}/${BASEDIR}/firmware"