blob: c5ae000da5db5e10f09bf400bf831d5383fa31fd [file] [log] [blame]
FROM ubuntu:22.04
ARG USERNAME=cheriot
ARG LLVM_PATH=.
ARG SAIL_PATH=.
RUN apt update \
&& apt upgrade -y \
&& apt install -y software-properties-common \
&& add-apt-repository ppa:xmake-io/xmake \
&& apt update \
&& apt install -y xmake git clang
# Create the user
RUN useradd -m $USERNAME \
# Add sudo support. Omit if you don't need to install software after connecting.
&& apt-get install -y sudo \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME
RUN mkdir -p /cheriot-tools/licenses
COPY ${LLVM_PATH}/LLVM-LICENSE.TXT /cheriot-tools/licenses/
COPY ${SAIL_PATH}/LICENCE-cheriot-sail.txt ${SAIL_PATH}/LICENCE-sail-riscv.txt /cheriot-tools/licenses/
RUN mkdir -p /cheriot-tools/bin
# FIXME: We should be installing objdump as well
COPY "${LLVM_PATH}/bin/clang" "${LLVM_PATH}/bin/lld" "${LLVM_PATH}/bin/llvm-objdump" "${LLVM_PATH}/bin/clangd" "${LLVM_PATH}/bin/clang-format" "${LLVM_PATH}/bin/clang-tidy" /cheriot-tools/bin/
COPY "${SAIL_PATH}/cheriot_sim" /cheriot-tools/bin/
RUN cd /cheriot-tools/bin && ln -s clang clang++ && ln -s lld ld.lld && chmod +x *
USER $USERNAME
ENV SHELL /bin/bash
CMD bash