2023-02-19 02:35:19 -05:00
|
|
|
FROM alpine:edge
|
|
|
|
|
|
|
|
# Download ARM toolkit.
|
|
|
|
RUN apk add --no-cache gcc-arm-none-eabi gcc
|
|
|
|
|
|
|
|
# Create volume /havoc/bin for compiled firmware binaries
|
|
|
|
VOLUME /havoc
|
|
|
|
WORKDIR /havoc/firmware
|
|
|
|
|
|
|
|
# Fetch dependencies from APK
|
|
|
|
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
|
|
|
|
RUN apk update -U
|
2023-03-27 10:22:20 -04:00
|
|
|
RUN apk add --no-cache git tar wget cmake curl bzip2 lz4 make
|
2023-02-19 02:35:19 -05:00
|
|
|
RUN apk add --no-cache dfu-util ccache icu-data-full
|
|
|
|
RUN apk add --no-cache python3 py3-pip py3-yaml
|
|
|
|
RUN apk add --no-cache py3-pyyaml-env-tag
|
|
|
|
RUN apk add --no-cache g++ gcc clang clang-static clang-dev llvm-dev llvm-static
|
|
|
|
|
|
|
|
ENV LANG C.UTF-8
|
|
|
|
ENV LC_ALL C.UTF-8
|
|
|
|
|
|
|
|
# Configure CCACHE
|
|
|
|
RUN mkdir ~/bin && cd ~/bin && \
|
|
|
|
for tool in gcc g++ cpp c++;do ln -s $(which ccache) arm-none-eabi-$tool;done
|
|
|
|
|
|
|
|
CMD cd .. && cd build && \
|
|
|
|
cmake .. && make firmware
|