Initial commit
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
FROM ubuntu:23.10
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
# Install prerequisites
|
||||
RUN apt update -qq && apt install -y --no-install-recommends \
|
||||
autoconf \
|
||||
automake \
|
||||
autotools-dev \
|
||||
curl \
|
||||
python3 \
|
||||
python3-pip \
|
||||
libmpc-dev \
|
||||
libmpfr-dev \
|
||||
libgmp-dev \
|
||||
gawk \
|
||||
build-essential \
|
||||
bison \
|
||||
flex \
|
||||
texinfo \
|
||||
gperf \
|
||||
libtool \
|
||||
patchutils \
|
||||
bc \
|
||||
zlib1g-dev \
|
||||
libexpat-dev \
|
||||
ninja-build \
|
||||
git \
|
||||
cmake \
|
||||
libglib2.0-dev \
|
||||
libslirp-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Compile and install toolchain
|
||||
RUN git clone https://github.com/riscv/riscv-gnu-toolchain
|
||||
|
||||
WORKDIR /root/riscv-gnu-toolchain
|
||||
|
||||
RUN ./configure --prefix=/opt/riscv && \
|
||||
make -j8
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN rm -rf /root/riscv-gnu-toolchain
|
||||
|
||||
# Install additional prerequisites
|
||||
RUN apt update -qq && apt install -y --no-install-recommends \
|
||||
device-tree-compiler \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Compile and install Spike
|
||||
RUN git clone https://github.com/riscv/riscv-isa-sim.git
|
||||
|
||||
WORKDIR /root/riscv-isa-sim
|
||||
|
||||
RUN mkdir build && \
|
||||
cd build && \
|
||||
../configure --prefix=/opt/riscv && \
|
||||
make -j8 && \
|
||||
make install
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN rm -rf /root/riscv-isa-sim
|
||||
|
||||
# Pass commands into container
|
||||
ENTRYPOINT ["bash", "-lc"]
|
||||
Reference in New Issue
Block a user