From f197a3fe883cb7ebc028d4cfab199a4d998b125a Mon Sep 17 00:00:00 2001 From: JF Date: Wed, 19 Aug 2020 21:52:46 +0200 Subject: All output files (bin, hex, image, dfu) contain the version of the project in their filename. Update Docker build script accordingly. Also fix permission issue with docker build (all files belonged to root). --- docker/arm64/Dockerfile | 9 ++++++++- docker/build.sh | 25 ------------------------- docker/build.sh.in | 23 +++++++++++++++++++++++ docker/x86_64/Dockerfile | 9 ++++++++- 4 files changed, 39 insertions(+), 27 deletions(-) delete mode 100755 docker/build.sh create mode 100755 docker/build.sh.in (limited to 'docker') diff --git a/docker/arm64/Dockerfile b/docker/arm64/Dockerfile index d9157d05..87c5c627 100644 --- a/docker/arm64/Dockerfile +++ b/docker/arm64/Dockerfile @@ -1,4 +1,11 @@ FROM ubuntu:18.04 + +ARG USER_ID +ARG GROUP_ID + +RUN addgroup --gid $GROUP_ID user +RUN adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID user + 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 @@ -6,5 +13,5 @@ RUN wget -q https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_ 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 - +USER user CMD ["/sources/docker/build.sh"] diff --git a/docker/build.sh b/docker/build.sh deleted file mode 100755 index 233ae64e..00000000 --- a/docker/build.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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/build.sh.in b/docker/build.sh.in new file mode 100755 index 00000000..a5940e73 --- /dev/null +++ b/docker/build.sh.in @@ -0,0 +1,23 @@ +#!/bin/sh +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 +set -x + +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$(nproc) + +mkdir -p /sources/build/output +/opt/mcuboot/scripts/imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header /sources/build/src/@EXECUTABLE_MCUBOOT_FILE_NAME@.bin /sources/build/output/@IMAGE_MCUBOOT_FILE_NAME@ +adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application /sources/build/output/@IMAGE_MCUBOOT_FILE_NAME@ /sources/build/output/@DFU_FILE_NAME@ + +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 index 6dd604be..7899c8cc 100644 --- a/docker/x86_64/Dockerfile +++ b/docker/x86_64/Dockerfile @@ -1,4 +1,11 @@ FROM ubuntu:18.04 + +ARG USER_ID +ARG GROUP_ID + +RUN addgroup --gid $GROUP_ID user +RUN adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID user + 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 @@ -6,5 +13,5 @@ RUN wget -q https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_ 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 - +USER user CMD ["/sources/docker/build.sh"] \ No newline at end of file -- cgit v1.2.3-70-g09d2