From 3859a7a1a72463bf8a5eec6f5302f1dfcc89379d Mon Sep 17 00:00:00 2001 From: HS Coetzee Date: Wed, 12 Sep 2018 19:06:17 +0000 Subject: [PATCH 1/4] ARM 32 bit version. --- Dockerfile.armhf | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Dockerfile.armhf diff --git a/Dockerfile.armhf b/Dockerfile.armhf new file mode 100644 index 0000000..87fda9c --- /dev/null +++ b/Dockerfile.armhf @@ -0,0 +1,47 @@ +FROM arm32v6/alpine + +MAINTAINER David Coppit + +ENV TERM=xterm-256color + +RUN true && \ +\ +echo "http://dl-cdn.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories && \ +apk --update upgrade && \ +\ +# Basics, including runit +apk add bash curl htop runit && \ +\ +# Needed by our code +apk add expect libc6-compat && \ +\ +rm -rf /var/cache/apk/* && \ +\ +# RunIt stuff +adduser -h /home/user-service -s /bin/sh -D user-service -u 2000 && \ +chown user-service:user-service /home/user-service && \ +mkdir -p /etc/run_once /etc/service + +# Boilerplate startup code +COPY ./boot.sh /sbin/boot.sh +RUN chmod +x /sbin/boot.sh +CMD [ "/sbin/boot.sh" ] + +VOLUME ["/config"] + +ADD https://www.noip.com/client/linux/noip-duc-linux.tar.gz /files/ + +RUN set -x \ + && chmod a+rwX /files \ + && tar -C /files -x -f /files/noip-duc-linux.tar.gz noip-2.1.9-1/binaries/noip2-x86_64 \ + && mv /files/noip-2.1.9-1/binaries/noip2-x86_64 /files \ + && rm -rf /files/noip-2.1.9-1 /files/noip-duc-linux.tar.gz + +COPY ["noip.conf", "create_config.exp", "/files/"] + +# run-parts ignores files with "." in them +COPY parse_config_file.sh /etc/run_once/parse_config_file +RUN chmod +x /etc/run_once/parse_config_file + +COPY noip.sh /etc/service/noip/run +RUN chmod +x /etc/service/noip/run From cde11d09a5569edcceeb37f5f1a80b79433c768a Mon Sep 17 00:00:00 2001 From: HS Coetzee Date: Wed, 12 Sep 2018 19:40:37 +0000 Subject: [PATCH 2/4] Need to compile from source for arm --- Dockerfile.armhf | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 87fda9c..d566a8d 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,6 +1,6 @@ -FROM arm32v6/alpine +FROM resin/raspberry-pi-alpine -MAINTAINER David Coppit +LABEL maintainer="David Coppit" ENV TERM=xterm-256color @@ -13,7 +13,7 @@ apk --update upgrade && \ apk add bash curl htop runit && \ \ # Needed by our code -apk add expect libc6-compat && \ +apk add expect libc6-compat make gcc libc-dev && \ \ rm -rf /var/cache/apk/* && \ \ @@ -33,8 +33,9 @@ ADD https://www.noip.com/client/linux/noip-duc-linux.tar.gz /files/ RUN set -x \ && chmod a+rwX /files \ - && tar -C /files -x -f /files/noip-duc-linux.tar.gz noip-2.1.9-1/binaries/noip2-x86_64 \ - && mv /files/noip-2.1.9-1/binaries/noip2-x86_64 /files \ + && tar -C /files -x -f /files/noip-duc-linux.tar.gz \ + && cd /files/noip-2.1.9-1 && make \ + && mv /files/noip-2.1.9-1/noip2 /files \ && rm -rf /files/noip-2.1.9-1 /files/noip-duc-linux.tar.gz COPY ["noip.conf", "create_config.exp", "/files/"] @@ -44,4 +45,6 @@ COPY parse_config_file.sh /etc/run_once/parse_config_file RUN chmod +x /etc/run_once/parse_config_file COPY noip.sh /etc/service/noip/run +#Look into using intermediate builder image instead +RUN apk del gcc make libc-dev RUN chmod +x /etc/service/noip/run From 8dc29bf3fb1705047190623f4017759e59a9f921 Mon Sep 17 00:00:00 2001 From: HS Coetzee Date: Wed, 12 Sep 2018 20:05:29 +0000 Subject: [PATCH 3/4] Symlink for original exec name. --- Dockerfile.armhf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index d566a8d..758d8f0 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -38,6 +38,9 @@ RUN set -x \ && mv /files/noip-2.1.9-1/noip2 /files \ && rm -rf /files/noip-2.1.9-1 /files/noip-duc-linux.tar.gz +#Compatibilty with x86_64 based scripts +RUN ln -s /files/noip2 /files/noip2-x86_64 + COPY ["noip.conf", "create_config.exp", "/files/"] # run-parts ignores files with "." in them From 91ade84256ae9fced12727a4f13859e7460a0fa6 Mon Sep 17 00:00:00 2001 From: Hendrik Coetzee Date: Wed, 12 Sep 2018 21:31:21 +0000 Subject: [PATCH 4/4] Moved away from resin image - arch was set to amd64 in that for some reason. --- Dockerfile.armhf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 758d8f0..a407389 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,4 +1,4 @@ -FROM resin/raspberry-pi-alpine +FROM arm32v6/alpine LABEL maintainer="David Coppit"