48 lines
1.7 KiB
Docker
48 lines
1.7 KiB
Docker
# Dockerfile for setting up the vortex development environment
|
|
|
|
FROM ubuntu:18.04
|
|
|
|
# Install dependencies
|
|
RUN apt update && apt install -y \
|
|
git build-essential g++ libfl2 \
|
|
libfl-dev zlibc zlib1g zlib1g-dev \
|
|
ccache libgoogle-perftools-dev numactl perl-doc \
|
|
python3 device-tree-compiler gdb
|
|
|
|
# Download vortex-toolchain-prebuilt
|
|
RUN git clone https://github.com/SantoshSrivatsan24/vortex-toolchain-prebuilt.git /tmp/vortex-toolchain-prebuilt
|
|
|
|
# Copy riscv-gnu-toolchain
|
|
RUN cd /tmp/vortex-toolchain-prebuilt/riscv-gnu-toolchain/ubuntu/bionic; \
|
|
cat riscv-gnu-toolchain.tar.bz2.part* > riscv-gnu-toolchain.tar.bz2; \
|
|
tar -xf riscv-gnu-toolchain.tar.bz2 -C /opt/;
|
|
|
|
# Copy riscv64-gnu-toolchain
|
|
RUN cd /tmp/vortex-toolchain-prebuilt/riscv64-gnu-toolchain/ubuntu/bionic; \
|
|
cat riscv64-gnu-toolchain.tar.bz2.part* > riscv64-gnu-toolchain.tar.bz2; \
|
|
tar -xf riscv64-gnu-toolchain.tar.bz2 -C /opt/;
|
|
|
|
# Copy llvm-riscv
|
|
RUN cd /tmp/vortex-toolchain-prebuilt/llvm-riscv/ubuntu/bionic; \
|
|
cat llvm-riscv.tar.bz2.part* > llvm-riscv.tar.bz2; \
|
|
tar -xf llvm-riscv.tar.bz2 -C /opt/;
|
|
|
|
# Copy pocl
|
|
RUN cd /tmp/vortex-toolchain-prebuilt/pocl/ubuntu/bionic; \
|
|
tar -xf pocl.tar.bz2 -C /opt/;
|
|
|
|
# Copy verilator
|
|
RUN cd /tmp/vortex-toolchain-prebuilt/verilator/ubuntu/bionic; \
|
|
tar -xf verilator.tar.bz2 -C /opt/;
|
|
|
|
# Set environment variables
|
|
ENV RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
|
ENV RISCV64_TOOLCHAIN_PATH=/opt/riscv64-gnu-toolchain
|
|
ENV VERILATOR_ROOT=/opt/verilator
|
|
ENV PATH=$PATH:/${RISCV_TOOLCHAIN_PATH}/bin:${RISCV64_TOOLCHAIN_PATH}/bin:${RISCV64_TOOLCHAIN_PATH}/riscv64-unknown-elf/bin:${VERILATOR_ROOT}/bin
|
|
|
|
# Cleanup
|
|
RUN rm -rf /tmp/vortex-toolchain-prebuilt
|
|
|
|
# Set working directory
|
|
WORKDIR /home/vortex |