-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
32 lines (32 loc) · 982 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
FROM fedora:41
# Install dependencies
RUN dnf update -y && dnf install -y \
gcc gcc-c++ \
openssl-devel \
SDL-devel \
libcurl-devel \
wget \
xz \
git \
vim \
nano \
perf \
make
# Create working directory
WORKDIR /marss-riscv
# Clone MARSS-RISCV repository
RUN git clone https://github.com/bucaps/marss-riscv .
# Fix the missing header issue in ramulator
RUN sed -i '1i#include <cstdint>' /marss-riscv/src/ramulator/src/StatType.h
# Build the simulator (using XLEN=64)
WORKDIR /marss-riscv/src
RUN make
# Download and extract RISC-V images
WORKDIR /marss-riscv
RUN wget https://cs.binghamton.edu/~marss-riscv/marss-riscv-images.tar.gz && \
tar -xvzf marss-riscv-images.tar.gz && \
mkdir -p configs/riscv64-unknown-linux-gnu && \
cp -r marss-riscv-images/riscv64-unknown-linux-gnu/* configs/riscv64-unknown-linux-gnu/ && \
cd configs/riscv64-unknown-linux-gnu/ && \
xz -d -k -T 0 riscv64.img.xz
WORKDIR /marss-riscv/src