Dockerfile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. FROM espressif/idf
  2. ARG DEBIAN_FRONTEND=nointeractive
  3. ARG CONTAINER_USER=esp
  4. ARG USER_UID=1000
  5. ARG USER_GID=$USER_UID
  6. RUN apt-get update \
  7. && apt install -y -q \
  8. cmake \
  9. git \
  10. hwdata \
  11. libglib2.0-0 \
  12. libnuma1 \
  13. libpixman-1-0 \
  14. linux-tools-virtual \
  15. && rm -rf /var/lib/apt/lists/*
  16. RUN update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
  17. # QEMU
  18. ENV QEMU_REL=esp-develop-20220919
  19. ENV QEMU_SHA256=f6565d3f0d1e463a63a7f81aec94cce62df662bd42fc7606de4b4418ed55f870
  20. ENV QEMU_DIST=qemu-${QEMU_REL}.tar.bz2
  21. ENV QEMU_URL=https://github.com/espressif/qemu/releases/download/${QEMU_REL}/${QEMU_DIST}
  22. ENV LC_ALL=C.UTF-8
  23. ENV LANG=C.UTF-8
  24. RUN wget --no-verbose ${QEMU_URL} \
  25. && echo "${QEMU_SHA256} *${QEMU_DIST}" | sha256sum --check --strict - \
  26. && tar -xf $QEMU_DIST -C /opt \
  27. && rm ${QEMU_DIST}
  28. ENV PATH=/opt/qemu/bin:${PATH}
  29. RUN groupadd --gid $USER_GID $CONTAINER_USER \
  30. && adduser --uid $USER_UID --gid $USER_GID --disabled-password --gecos "" ${CONTAINER_USER} \
  31. && usermod -a -G dialout $CONTAINER_USER
  32. USER ${CONTAINER_USER}
  33. ENV USER=${CONTAINER_USER}
  34. WORKDIR /home/${CONTAINER_USER}
  35. RUN echo "source /opt/esp/idf/export.sh > /dev/null 2>&1" >> ~/.bashrc
  36. ENTRYPOINT [ "/opt/esp/entrypoint.sh" ]
  37. CMD ["/bin/bash", "-c"]