Add initial barebones kernel and cross compiler container image

This commit is contained in:
2024-07-29 23:59:10 +02:00
commit 30e0d6d9f8
19 changed files with 899 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
FROM ubuntu:latest
RUN apt-get update
COPY packages.txt .
RUN apt-get install -y --no-install-recommends --no-install-suggests $(cat packages.txt)
COPY gnu-keyring.gpg /gnu-keyring.gpg
RUN gpg --import /gnu-keyring.gpg
#ARG BINUTILS_MIRROR="https://ftp.gnu.org/gnu/binutils/"
ARG BINUTILS_MIRROR="https://gnuftp.uib.no/binutils/"
ARG BINUTILS_NAME="binutils-2.42"
ARG BINUTILS_ARCHIVE=${BINUTILS_NAME}".tar.gz"
#ARG GCC_MIRROR="https://ftp.gnu.org/gnu/gcc/gcc-14.1.0/"
ARG GCC_MIRROR="https://gnuftp.uib.no/gcc/gcc-14.1.0/"
ARG GCC_NAME="gcc-14.1.0"
ARG GCC_ARCHIVE=${GCC_NAME}".tar.gz"
ARG PREFIX=/opt/cross/
ARG TARGET=i686-elf
ENV PATH=${PREFIX}bin:${PATH}
WORKDIR build
# download and build gcc and binutils source
RUN set -x \
&& wget --no-verbose ${BINUTILS_MIRROR}${BINUTILS_ARCHIVE} \
&& wget --no-verbose ${BINUTILS_MIRROR}${BINUTILS_ARCHIVE}.sig \
&& gpg --verify "${BINUTILS_ARCHIVE}.sig" \
&& mkdir binutils \
&& tar -xf ${BINUTILS_ARCHIVE} -C binutils \
&& mkdir binutils-build \
&& cd binutils-build \
&& ../binutils/${BINUTILS_NAME}/configure \
--target=$TARGET \
--prefix=$PREFIX \
--with-sysroot \
--disable-nls \
--disable-werror \
&& make -j 8 \
&& make install \
&& rm -rf binutils-build binutils ${BINUTLS_ARCHIVE}
RUN set -x \
&& wget --no-verbose ${GCC_MIRROR}${GCC_ARCHIVE} \
&& wget --no-verbose ${GCC_MIRROR}${GCC_ARCHIVE}.sig \
&& gpg --verify "${GCC_ARCHIVE}.sig" \
&& mkdir gcc \
&& tar -xf ${GCC_ARCHIVE} -C gcc \
&& mkdir gcc-build \
&& cd gcc-build \
&& ../gcc/${GCC_NAME}/configure \
--target=$TARGET \
--prefix=$PREFIX \
--disable-nls \
--enable-languages=c \
--without-headers \
&& make -j 8 all-gcc \
&& make -j 8 all-target-libgcc \
&& make install-gcc \
&& make install-target-libgcc \
&& rm -rf gcc-build gcc ${GCC_ARCHIVE}
WORKDIR /runtime

Binary file not shown.

View File

@@ -0,0 +1,13 @@
build-essential
bison
flex
libgmp3-dev
libmpc-dev
libmpfr-dev
texinfo
libisl-dev
wget
gpg
gpg-agent
gzip
ca-certificates