cross/mipsel-linux-uclibc/Dockerfile

69 lines
1.4 KiB
Docker

FROM debian:bookworm
# Install all build dependencies
RUN apt-get update && apt-get install -y \
build-essential \
git \
curl \
wget \
bzip2 \
unzip \
ca-certificates \
python3 \
file \
g++ \
make \
libncurses-dev \
rsync \
bc \
patch \
perl \
cpio \
sudo \
xz-utils \
gnupg \
flex \
bison \
texinfo
# Create non-root user and setup environment
RUN useradd -m -s /bin/bash buildroot && \
echo "buildroot ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Buildroot version
ENV BUILDROOT_VERSION=2025.05
ENV BUILDROOT_DIR=/home/buildroot/buildroot
USER buildroot
WORKDIR /home/buildroot
# Download and extract Buildroot
RUN mkdir -p $BUILDROOT_DIR && \
curl -LO https://buildroot.org/downloads/buildroot-${BUILDROOT_VERSION}.tar.gz && \
tar -xzf buildroot-${BUILDROOT_VERSION}.tar.gz -C /home/buildroot && \
rm buildroot-${BUILDROOT_VERSION}.tar.gz && \
mv /home/buildroot/buildroot-${BUILDROOT_VERSION}/* $BUILDROOT_DIR
# Set up workdir
WORKDIR $BUILDROOT_DIR
# Unset host compiler env vars
ENV CC=
ENV CXX=
COPY .config .config
RUN make oldconfig
RUN make -j16
# Done — toolchain will be in /opt/buildroot/output/host
# Rootfs (if selected) will be in /opt/buildroot/output/images
# Set default workdir in case user wants to enter
RUN echo 'export "PATH=/home/buildroot/buildroot/output/host/bin:$PATH"' >> ~/.bashrc
WORKDIR /build
CMD ["/bin/bash"]