diff --git a/scripts/_build/coreboot.sh b/scripts/_build/coreboot.sh index fc33a5e..d54d89e 100755 --- a/scripts/_build/coreboot.sh +++ b/scripts/_build/coreboot.sh @@ -32,10 +32,6 @@ function check_configs() { } pushd coreboot >/dev/null - if [ ! -d util/crossgcc/xgcc ] - then - make CPUS="$(nproc)" crossgcc-i386 - fi make distclean make defconfig KBUILD_DEFCONFIG="${CONFIG}" check_configs "${CONFIG}" diff --git a/scripts/coreboot-sdk.sh b/scripts/coreboot-sdk.sh new file mode 100755 index 0000000..9073c08 --- /dev/null +++ b/scripts/coreboot-sdk.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: GPL-3.0-only + +# Build the coreboot toolchains + +# shellcheck disable=SC1091 + +set -e + +. /etc/os-release +if [ "$ID" = "arch" ] || [[ "$ID_LIKE" =~ "arch" ]]; then + sudo pacman -S --noconfirm \ + bison \ + bzip2 \ + ca-certificates \ + curl \ + flex \ + gcc \ + gcc-ada \ + make \ + patch \ + tar \ + xz \ + zlib +elif [ "$ID" = "fedora" ] || [[ "$ID_LIKE" =~ "fedora" ]]; then + sudo dnf install --assumeyes \ + bison \ + bzip2 \ + ca-certificates \ + curl \ + flex \ + gcc \ + gcc-c++ \ + gcc-gnat \ + make \ + patch \ + tar \ + xz \ + zlib-devel +elif [ "$ID" = "ubuntu" ] || [[ "$ID_LIKE" =~ "debian" ]]; then + sudo apt-get --quiet update + sudo apt-get --quiet install --no-install-recommends --assume-yes \ + bison \ + bzip2 \ + ca-certificates \ + curl \ + flex \ + g++ \ + gcc \ + gnat \ + make \ + patch \ + tar \ + xz-utils \ + zlib1g-dev +else + printf "\e[1;31munsupported host:\e[0m %s\n" "$ID" + exit 1 +fi + +make -C coreboot CPUS="$(nproc)" crossgcc-i386 +make -C coreboot CPUS="$(nproc)" crossgcc-x64 +make -C coreboot gitconfig diff --git a/scripts/install-deps.sh b/scripts/install-deps.sh index 63524f4..75aa438 100755 --- a/scripts/install-deps.sh +++ b/scripts/install-deps.sh @@ -11,14 +11,12 @@ trap 'msg "\x1B[31mFailed to install dependencies!"' ERR source /etc/os-release - msg "Installing system build dependencies" if [[ "${ID}" =~ "debian" ]] || [[ "${ID_LIKE}" =~ "debian" ]]; then sudo apt-get --quiet update sudo apt-get --quiet install \ --no-install-recommends \ --assume-yes \ - bison \ build-essential \ ccache \ cmake \ @@ -26,9 +24,7 @@ if [[ "${ID}" =~ "debian" ]] || [[ "${ID_LIKE}" =~ "debian" ]]; then devmem2 \ dosfstools \ flashrom \ - flex \ git-lfs \ - gnat \ libncurses-dev \ libudev-dev \ msr-tools \ @@ -47,7 +43,6 @@ elif [[ "${ID}" =~ "fedora" ]] || [[ "${ID_LIKE}" =~ "fedora" ]]; then curl \ dosfstools \ flashrom \ - gcc-gnat \ git-lfs \ libuuid-devel \ msr-tools \ @@ -62,14 +57,11 @@ elif [[ "${ID}" =~ "fedora" ]] || [[ "${ID_LIKE}" =~ "fedora" ]]; then elif [[ "${ID}" =~ "arch" ]] || [[ "${ID_LIKE}" =~ "arch" ]]; then sudo pacman -S \ --noconfirm \ - bison \ ccache \ cmake \ curl \ dosfstools \ flashrom \ - flex \ - gcc-ada \ git-lfs \ msr-tools \ mtools \ @@ -97,10 +89,8 @@ fi msg "Initializing submodules" git submodule update --init --recursive --checkout --progress -msg "Installing coreboot commit hook" -curl -sSf https://review.coreboot.org/tools/hooks/commit-msg \ - -o .git/modules/coreboot/hooks/commit-msg && \ - chmod +x .git/modules/coreboot/hooks/commit-msg +msg "Building coreboot toolchains" +./scripts/coreboot-sdk.sh msg "Installing Rust toolchain and components" ./scripts/install-rust.sh @@ -110,11 +100,5 @@ pushd ec ./scripts/deps.sh popd -msg "Building coreboot toolchains" -pushd coreboot -make CPUS="$(nproc)" crossgcc-i386 -make CPUS="$(nproc)" crossgcc-x64 -popd - msg "\x1B[32mSuccessfully installed dependencies" echo "Ready to run ./scripts/build.sh [model]" >&2