From 7e4673717333ba228231fbf96f018c41c412052a Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 21:53:18 +0000 Subject: [PATCH 1/9] Do not build renode - speed up testing --- tools/docker/Dockerfile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index ad52b85c62e..a623fc6295e 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -119,13 +119,6 @@ RUN echo "#!/bin/bash\nant -Dbasedir=${COOJA} -f ${COOJA}/build.xml run" > ${HOM # Set java 11 for Cooja RUN sudo update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 -# Download, build and install Renode -RUN git clone --quiet https://github.com/renode/renode.git \ - && cd ${HOME}/renode \ - && git checkout v1.3 \ - && ./build.sh -ENV PATH="${HOME}/renode:${PATH}" - # By default, we use a Docker bind mount to share the repo with the host, # with Docker run option: # -v :/home/user/contiki-ng From 0f1d4fadcbd7e158a6d4a08fd6b60b589dd09728 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 21:53:41 +0000 Subject: [PATCH 2/9] Set java alternative before setting JAVA_HOME --- tools/docker/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index a623fc6295e..d8a1ede14b5 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -101,6 +101,9 @@ RUN export uid=1000 gid=1000 && \ chown ${uid}:${gid} -R /home/user && \ usermod -aG dialout user +# Set java 11 for Cooja +RUN update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 + # Set user for what comes next USER user @@ -116,9 +119,6 @@ WORKDIR ${HOME} RUN echo "#!/bin/bash\nant -Dbasedir=${COOJA} -f ${COOJA}/build.xml run" > ${HOME}/cooja && \ chmod +x ${HOME}/cooja -# Set java 11 for Cooja -RUN sudo update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 - # By default, we use a Docker bind mount to share the repo with the host, # with Docker run option: # -v :/home/user/contiki-ng From b63ba8456694043d320cdb4614ecf870a1076d51 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 21:55:12 +0000 Subject: [PATCH 3/9] Don't install mono and don't suppress apt output --- tools/docker/Dockerfile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index d8a1ede14b5..805953bec1c 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -10,10 +10,7 @@ RUN apt-get -qq update \ && apt-get -qq -y --no-install-recommends install apt-utils gnupg > /dev/null \ && apt-get -qq clean -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ - echo "deb http://download.mono-project.com/repo/ubuntu bionic main" | tee /etc/apt/sources.list.d/mono-xamarin.list && \ - apt-get -qq update && \ - apt-get -qq -y --no-install-recommends install \ +RUN apt-get update && apt-get -y --no-install-recommends install \ ant \ build-essential \ default-jdk \ @@ -45,7 +42,6 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E03280 smitools \ snmp \ snmp-mibs-downloader \ - > /dev/null \ && apt-get -qq clean # Install coap-cli From 760fc0101a4658f9fa3301b4f21915301e2183b1 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 21:55:37 +0000 Subject: [PATCH 4/9] Be explicit in terms of the JDK version on apt --- tools/docker/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 805953bec1c..076fe969b09 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -13,7 +13,6 @@ RUN apt-get -qq update \ RUN apt-get update && apt-get -y --no-install-recommends install \ ant \ build-essential \ - default-jdk \ doxygen \ gdb \ git \ @@ -27,7 +26,7 @@ RUN apt-get update && apt-get -y --no-install-recommends install \ mosquitto-clients \ net-tools \ npm \ - openjdk-8-jdk \ + openjdk-11-jdk \ python-pip \ python-serial \ rlwrap \ From 6fbd4eda69ecf3c322d391415de7be8cb50fc271 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 21:55:56 +0000 Subject: [PATCH 5/9] Remove some apt packages The need for those is not immediately obvious, yet they delay image creation --- tools/docker/Dockerfile | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 076fe969b09..eba0cdb4617 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -16,12 +16,8 @@ RUN apt-get update && apt-get -y --no-install-recommends install \ doxygen \ gdb \ git \ - gtk-sharp2 \ iputils-tracepath \ iputils-ping \ - libcanberra-gtk-module \ - libgtk2.0-0 \ - mono-complete \ mosquitto \ mosquitto-clients \ net-tools \ @@ -31,10 +27,8 @@ RUN apt-get update && apt-get -y --no-install-recommends install \ python-serial \ rlwrap \ sudo \ - screen \ srecord \ software-properties-common \ - uml-utilities \ unzip \ valgrind \ wget \ From 8ff99a2bc9551cb93a7a3a6d706cb24b0506df27 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 22:40:05 +0000 Subject: [PATCH 6/9] Set JAVA_HOME correctly --- tools/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index eba0cdb4617..21d5d61469a 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -97,7 +97,7 @@ RUN update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 USER user # Environment variables -ENV JAVA_HOME /usr/lib/jvm/default-java +ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64 ENV HOME /home/user ENV CONTIKI_NG ${HOME}/contiki-ng ENV COOJA ${CONTIKI_NG}/tools/cooja From 1f8d309b8d395cd28a63a79334f4f42d77d8c14b Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 22:33:46 +0000 Subject: [PATCH 7/9] Install 32-bit support for the msp430 and jn516x toolchains --- tools/docker/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 21d5d61469a..8f769f2e382 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -93,6 +93,11 @@ RUN export uid=1000 gid=1000 && \ # Set java 11 for Cooja RUN update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 +# Install 32-bit support for the msp430 and jn516x toolchains +RUN dpkg --add-architecture i386 && \ + apt update && \ + apt install -y --no-install-recommends libc6:i386 zlib1g:i386 + # Set user for what comes next USER user From 5a435b7844d2d66b30e281f21258085104cea701 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 23:28:24 +0000 Subject: [PATCH 8/9] Deploy arm-gcc from developer.arm.com --- tools/docker/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 8f769f2e382..705d78ce568 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -41,10 +41,10 @@ RUN apt-get update && apt-get -y --no-install-recommends install \ RUN npm -q install coap-cli@0.5.1 -g # Install ARM toolchain -RUN add-apt-repository ppa:team-gcc-arm-embedded/ppa -RUN apt-get update \ - && apt-get -y install 'gcc-arm-embedded=7-2018q2-1~bionic*' \ - && apt-get -qq clean +RUN wget -nv https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/RC2.1/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2 && \ + tar xjf gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2 -C /tmp/ && \ + cp -f -r /tmp/gcc-arm-none-eabi-9-2019-q4-major/* /usr/local/ && \ + rm -rf /tmp/gcc-arm-none-eabi-* gcc-arm-none-eabi-*-linux.tar.bz2 # Install msp430 toolchain RUN wget -nv http://simonduq.github.io/resources/mspgcc-4.7.2-compiled.tar.bz2 && \ From 9f1c2ec6cb66015135b4c79bdf2b2893bf962df5 Mon Sep 17 00:00:00 2001 From: George Oikonomou Date: Sun, 24 Nov 2019 23:44:45 +0000 Subject: [PATCH 9/9] Substitute apt for apt-get --- tools/docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 705d78ce568..970b819b251 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -95,8 +95,8 @@ RUN update-java-alternatives --set /usr/lib/jvm/java-1.11.0-openjdk-amd64 # Install 32-bit support for the msp430 and jn516x toolchains RUN dpkg --add-architecture i386 && \ - apt update && \ - apt install -y --no-install-recommends libc6:i386 zlib1g:i386 + apt-get update && \ + apt-get install -y --no-install-recommends libc6:i386 zlib1g:i386 # Set user for what comes next USER user