If a board in models/ does not exist in coreboot, coreboot will emit a warning and select the first available board for the vendor instead. This may result in building and being able to flash coreboot with an addw1 configuration on another board.
36 lines
737 B
Bash
Executable File
36 lines
737 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
if [ -z "$1" -o ! -e "$1" -o -z "$2" ]
|
|
then
|
|
echo "$0 [coreboot.config] [coreboot.rom]" >&2
|
|
exit 1
|
|
fi
|
|
CONFIG="$(realpath "$1")"
|
|
COREBOOT="$(realpath "$2")"
|
|
|
|
pushd coreboot >/dev/null
|
|
if [ ! -d util/crossgcc/xgcc ]
|
|
then
|
|
make CPUS="$(nproc)" crossgcc-i386
|
|
fi
|
|
make distclean
|
|
make defconfig KBUILD_DEFCONFIG="${CONFIG}"
|
|
|
|
# Ensure config is correct
|
|
while read line; do
|
|
if [[ "${line}" =~ "^#" ]] || [[ -z "${line}" ]]; then
|
|
continue
|
|
fi
|
|
|
|
if ! grep -q "${line}" ".config"; then
|
|
echo "expected config not found: ${line}" >&2
|
|
exit 1
|
|
fi
|
|
done < "${CONFIG}"
|
|
|
|
make --jobs="$(nproc)"
|
|
cp -v "build/coreboot.rom" "${COREBOOT}"
|
|
popd >/dev/null
|