diff --git a/.circleci/config.yml b/.circleci/config.yml index 38b49d6f..30d1b0d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,6 +35,11 @@ jobs: environment: BIN_NAME: "pihole-FTL-arm-linux-gnueabi" + arm-rpi: + <<: *job_template + environment: + BIN_NAME: "pihole-FTL-armv6-linux-gnueabihf" + armhf: <<: *job_template environment: diff --git a/docker/arm-rpi/Dockerfile b/docker/arm-rpi/Dockerfile new file mode 100644 index 00000000..818acd41 --- /dev/null +++ b/docker/arm-rpi/Dockerfile @@ -0,0 +1,22 @@ +FROM debian:stretch + +RUN dpkg --add-architecture armhf && \ + apt-get update && \ + apt-get install -y --no-install-recommends nettle-dev:armhf libcap-dev:armhf \ + make file wget netcat-traditional sqlite3 git ca-certificates ssh + +# Use Raspbian's GCC +# This command was taken from https://github.com/dockcross/dockcross/blob/master/linux-armv6/Dockerfile +# Slightly modified from the original +RUN mkdir rpi_tools && cd rpi_tools && git init && git remote add origin https://github.com/raspberrypi/tools && \ + git config core.sparseCheckout true && \ + echo "arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64" >> .git/info/sparse-checkout && \ + git pull --depth=1 origin master && \ + cp -a arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/* /usr/ && rm -rf ../rpi_tools + +RUN wget ftl.pi-hole.net/libraries/libgmp.a -O /usr/local/lib/libgmp.a && \ + wget ftl.pi-hole.net/libraries/libnettle.a -O /usr/local/lib/libnettle.a && \ + wget ftl.pi-hole.net/libraries/libhogweed.a -O /usr/local/lib/libhogweed.a + +# Allow libnettle to be used, because this GCC doesn't have all the right header and library directories +ENV CC "arm-linux-gnueabihf-gcc -I/usr/include -I/usr/include/arm-linux-gnueabihf"