FROM ubuntu:24.04
# Install dependencies
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update -qq && \
apt-get install -y -qq --no-install-recommends \
build-essential \
ca-certificates \
curl \
expect \
fuse \
ipxe-qemu \
libfuse-dev \
pkg-config \
qemu-system-arm \
qemu-efi-arm \
qemu-efi-aarch64 \
rsync \
nasm \
&& rm -rf /var/lib/apt/lists/*
# Install rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
sh -s -- --default-toolchain nightly --profile minimal -y
# Set path
ENV PATH=/root/.cargo/bin:$PATH
ENV TARGET=aarch64-unknown-redox
# Install redoxer
COPY . /root/redoxer
RUN cargo install --path /root/redoxer --locked
# Install redoxer toolchain
RUN redoxer toolchain
# Ensure redoxer exec is working
RUN redoxer exec true
# Ensure redoxer test is working
RUN cd /root/redoxer/example && redoxer test
# Strip unneeded files
RUN rm -rf /root/redoxer /root/.cargo/git /root/.cargo/registry