Files
kernels/miscs/docker/vortex/Dockerfile
2021-12-11 17:06:29 -05:00

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