From 2aafb59fe4533024854224fcf5a42116ccfaffcb Mon Sep 17 00:00:00 2001 From: jedi Date: Fri, 25 Jun 2021 22:50:25 +0200 Subject: [PATCH] add Dockerfile for build environment --- Makefile | 13 ++++++++++++- docker/Dockerfile | 9 +++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 docker/Dockerfile diff --git a/Makefile b/Makefile index 7d6ee6a..417565d 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,22 @@ -.PHONY: firmware case pcb +.PHONY: firmware flash firmware_docker case pcb all: firmware case pcb firmware: +@make -C firmware all +clean: + +@make -C firmware clean + +firmware_docker: + sh -c "docker build -t fiatlux_env docker" + sh -c "docker run --volume "$$(pwd)"/firmware:/firmware fiatlux_env make -C firmware all" + +clean_docker: + sh -c "docker build -t fiatlux_env docker" + sh -c "docker run --volume "$$(pwd)"/firmware:/firmware fiatlux_env make -C firmware clean" + flash: +@make -C firmware flash diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..58458d2 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,9 @@ +# syntax=docker/dockerfile:1 +FROM debian:sid +RUN apt update && apt install -y make bash gawk g++ gcc libc6-dev flex bison automake autoconf gperf texinfo wget git bzip2 help2man libtool libtool-bin unrar-free unzip ncurses-dev libexpat-dev python-dev python3 +RUN mkdir modules; git clone --recursive https://github.com/SuperHouse/esp-open-rtos.git modules/rtos; git clone --recursive https://github.com/pfalcon/esp-open-sdk.git modules/sdk +RUN sed -i 's/GNU bash, version (3\\\.\[1-9\]|4)/GNU bash, version (3.[1-9]|4|5)/g' modules/sdk/crosstool-NG/configure.ac; mkdir -p modules/sdk/crosstool-NG/.build/tarballs; wget https://github.com/libexpat/libexpat/releases/download/R_2_1_0/expat-2.1.0.tar.gz -O modules/sdk/crosstool-NG/.build/tarballs/expat-2.1.0.tar.gz +RUN cd modules/sdk; export CT_EXPERIMENTAL=y; export CT_ALLOW_BUILD_AS_ROOT=y; export CT_ALLOW_BUILD_AS_ROOT_SURE=y; make standalone=y -j$(nproc); wget -N https://raw.githubusercontent.com/espressif/esptool/master/esptool.py -O xtensa-lx106-elf/bin/esptool.py +RUN apt remove --purge -y python2 && apt autoremove --purge -y && apt install -y python3 python3-serial perl +RUN apt install -y --reinstall python-is-python3 +ENV PATH=/modules/sdk/xtensa-lx106-elf/bin:$PATH \ No newline at end of file