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