From fcee47191a5b582e38d6fa79f39549e887e25f53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Fri, 9 Aug 2024 20:52:24 +0000 Subject: [PATCH] refactor: move kernel build into independent Docker layer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Kröning --- Dockerfile | 15 ++++++++++++++- toolchain.sh | 9 --------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index f125aa8..f4314b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,14 @@ -FROM rust:bookworm AS builder +FROM --platform=$BUILDPLATFORM rust:bookworm AS kernel +ADD --link https://github.com/hermit-os/kernel.git /kernel +WORKDIR /kernel +RUN cargo xtask build \ + --artifact-dir . \ + --arch x86_64 \ + --release \ + --no-default-features \ + --features pci,smp,acpi,newlib,tcp,dhcpv4 + +FROM buildpack-deps:bookworm AS builder RUN set -eux; \ apt-get update; \ @@ -15,6 +25,9 @@ RUN set -eux; \ WORKDIR /root +COPY --link --from=kernel /kernel/libhermit.a /root/kernel/libhermit.a +ENV LDFLAGS_FOR_TARGET="-L/root/target/x86_64/release -lhermit" + ADD --link https://github.com/hermit-os/binutils.git binutils ADD --link https://github.com/hermit-os/gcc.git gcc ADD --link https://github.com/hermit-os/hermit-playground.git hermit diff --git a/toolchain.sh b/toolchain.sh index 0251378..4daac83 100755 --- a/toolchain.sh +++ b/toolchain.sh @@ -68,15 +68,6 @@ make install-gcc cd - fi -cd kernel -cargo xtask build \ - --arch x86_64 \ - --release \ - --no-default-features \ - --features pci,smp,acpi,newlib,tcp,dhcpv4 -export LDFLAGS_FOR_TARGET="-L$PWD/target/x86_64/release -lhermit" -cd - - if [ ! -d "tmp/newlib" ]; then mkdir -p tmp/newlib cd tmp/newlib