summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-08-19 12:22:48 +0200
committerJF <jf@codingfield.com>2020-08-19 12:22:48 +0200
commit5ed7fbe126fea6d67c0505a93d8f06a4c06bf61d (patch)
tree7664ae1d37fdd977531849a65e316131e83b1f49 /docker
parent18686ac2cbf6b97dd0250234ce128bd9ad350d6e (diff)
Add docker file create docker image that builds the project on amd64 and arm64 arch.
Diffstat (limited to 'docker')
-rw-r--r--docker/arm64/Dockerfile10
-rwxr-xr-xdocker/build.sh25
-rw-r--r--docker/x86_64/Dockerfile10
3 files changed, 45 insertions, 0 deletions
diff --git a/docker/arm64/Dockerfile b/docker/arm64/Dockerfile
new file mode 100644
index 00000000..d9157d05
--- /dev/null
+++ b/docker/arm64/Dockerfile
@@ -0,0 +1,10 @@
+FROM ubuntu:18.04
+RUN apt-get update -qq && apt-get install -y wget unzip cmake make build-essential git python3 python3-pip libffi-dev libssl-dev python3-dev
+RUN wget -q https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-aarch64-linux.tar.bz2 -O - | tar -xj -C /opt/
+RUN wget -q https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_15.3.0_59ac345.zip && unzip -q nRF5_SDK_15.3.0_59ac345.zip -d /opt/ && rm nRF5_SDK_15.3.0_59ac345.zip
+
+RUN git clone https://github.com/JuulLabs-OSS/mcuboot.git /opt/mcuboot && pip3 install -r /opt/mcuboot/scripts/requirements.txt
+RUN pip3 install adafruit-nrfutil
+
+
+CMD ["/sources/docker/build.sh"]
diff --git a/docker/build.sh b/docker/build.sh
new file mode 100755
index 00000000..233ae64e
--- /dev/null
+++ b/docker/build.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+export LC_ALL=C.UTF-8
+export LANG=C.UTF-8
+
+mkdir /sources/build
+cd /sources/build
+
+cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=/opt/gcc-arm-none-eabi-9-2020-q2-update -DNRF5_SDK_PATH=/opt/nRF5_SDK_15.3.0_59ac345 -DUSE_OPENOCD=1 ../
+make -j
+
+/opt/mcuboot/scripts/imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header /sources/build/src/pinetime-mcuboot-app.bin /sources/build/image.bin
+adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application /sources/build/image.bin /sources/build/dfu.zip
+
+mkdir -p /sources/build/output
+mv /sources/build/image.bin /sources/build/output/pinetime-mcuboot-app.img
+mv /sources/build/dfu.zip /sources/build/output/pinetime-app-dfu.zip
+
+cp /sources/build/src/*.bin /sources/build/output/
+cp /sources/build/src/*.hex /sources/build/output/
+cp /sources/build/src/*.out /sources/build/output/
+cp /sources/build/src/*.map /sources/build/output/
+cp /sources/bootloader/mynewt_nosemi_4.1.7.elf.bin /sources/build/output/bootloader.bin
+
+
+
diff --git a/docker/x86_64/Dockerfile b/docker/x86_64/Dockerfile
new file mode 100644
index 00000000..6dd604be
--- /dev/null
+++ b/docker/x86_64/Dockerfile
@@ -0,0 +1,10 @@
+FROM ubuntu:18.04
+RUN apt-get update -qq && apt-get install -y wget unzip cmake make build-essential git python3 python3-pip
+RUN wget -q https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz -O - | tar -xj -C /opt/
+RUN wget -q https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_15.3.0_59ac345.zip && unzip -q nRF5_SDK_15.3.0_59ac345.zip -d /opt/ && rm nRF5_SDK_15.3.0_59ac345.zip
+
+RUN git clone https://github.com/JuulLabs-OSS/mcuboot.git /opt/mcuboot && pip3 install -r /opt/mcuboot/scripts/requirements.txt
+RUN pip3 install adafruit-nrfutil
+
+
+CMD ["/sources/docker/build.sh"] \ No newline at end of file