123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- FROM ubuntu:22.04
- ARG HTTP_PROXY
- ARG HTTPS_PROXY
- ENV http_proxy=${HTTP_PROXY}
- ENV https_proxy=${HTTPS_PROXY}
- # 1. Basic options(with root)
- RUN apt update && \
- apt install -y software-properties-common && \
- add-apt-repository universe && \
- apt update && \
- apt install -y --no-install-recommends \
- sudo git wget python3 python3-pip scons vim xz-utils minicom && \
- pip3 install esptool && \
- useradd -m dev && \
- echo "dev ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
- # 2. Switch to dev user
- USER dev
- WORKDIR /home/dev
- # 3. Install esp-idf toolchains
- RUN wget -q https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz && \
- sudo tar -xf riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz -C /opt
- # 4. Clone RT-Thread and switch master
- RUN git clone https://github.com/RT-Thread/rt-thread.git && \
- cd rt-thread && \
- git switch master
- # 5. Install env tools
- WORKDIR /home/dev/rt-thread
- RUN wget https://raw.githubusercontent.com/RT-Thread/env/master/install_ubuntu.sh && \
- chmod +x install_ubuntu.sh && \
- ./install_ubuntu.sh
- # 6. Modify toolchains path
- RUN sed -i "s|^.*EXEC_PATH.*| EXEC_PATH = r'/opt/riscv32-esp-elf/bin'|" bsp/ESP32_C3/rtconfig.py
- # 7. Set enviroment variables
- ENV PATH="/opt/riscv32-esp-elf/bin:/home/dev/.env/tools/scripts:$PATH"
- # 8. Update rtthread packages
- WORKDIR /home/dev/rt-thread/bsp/ESP32_C3
- RUN pkgs --update
|