diff --git a/Dockerfile b/Dockerfile index 055e6a1..6a1d0a2 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#hermit-c /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; \ @@ -20,9 +30,9 @@ RUN set -eux; \ WORKDIR /root +COPY --link --from=kernel /kernel/libhermit.a ./kernel/libhermit.a 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/kernel.git#hermit-c kernel ADD --link https://github.com/hermit-os/newlib.git newlib ADD --link https://github.com/hermit-os/pthread-embedded.git pte ADD --link ./toolchain.sh ./toolchain.sh diff --git a/toolchain.sh b/toolchain.sh index 3056187..72b06bb 100755 --- a/toolchain.sh +++ b/toolchain.sh @@ -69,15 +69,7 @@ make install-gcc cd - fi -cd kernel -cargo xtask build \ - --artifact-dir . \ - --arch x86_64 \ - --release \ - --no-default-features \ - --features pci,smp,acpi,newlib,tcp,dhcpv4 -export LDFLAGS_FOR_TARGET=-L$PWD -cd - +export LDFLAGS_FOR_TARGET=-L/root/kernel if [ ! -d "tmp/newlib" ]; then mkdir -p tmp/newlib