mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-10-01 01:26:06 -04:00
31 lines
1.2 KiB
Plaintext
31 lines
1.2 KiB
Plaintext
FROM ubuntu:latest
|
|
|
|
# Set location to download ARM toolkit from.
|
|
# This will need to be changed over time or replaced with a static link to the latest release.
|
|
ENV ARMBINURL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2?revision=108bd959-44bd-4619-9c19-26187abf5225&la=en&hash=E788CE92E5DFD64B2A8C246BBA91A249CB8E2D2D \
|
|
PATH=$HOME/bin:$PATH:/opt/build/armbin/bin
|
|
|
|
#Create volume /havoc/bin for compiled firmware binaries
|
|
VOLUME /havoc
|
|
WORKDIR /havoc/firmware
|
|
|
|
# Fetch dependencies from APT
|
|
RUN apt-get update && \
|
|
apt-get install -y git tar wget dfu-util cmake python3 python-pip ccache && \
|
|
apt-get -qy autoremove
|
|
|
|
RUN pip install pyyaml
|
|
|
|
# Grab the GNU ARM toolchain from arm.com
|
|
# Then extract contents to /opt/build/armbin/
|
|
RUN mkdir /opt/build && cd /opt/build && \
|
|
wget -O gcc-arm-none-eabi $ARMBINURL && \
|
|
mkdir armbin && \
|
|
tar --strip=1 -xjvf gcc-arm-none-eabi -C armbin
|
|
|
|
# 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 |