File size: 1,352 Bytes
a281c6e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/bash
# One-time toolchain setup (Linux, python3 + node >= 18 required). Installs everything into ./.toolchain
set -e
cd "$(dirname "$0")/.."; ROOT=$PWD; TC=$ROOT/.toolchain; mkdir -p $TC
pip install -q ziglang pillow huggingface_hub pyserial cryptography bitstring ecdsa reedsolo pyyaml intelhex playwright
# arduino-cli + ESP32 core 2.0.17 + FabGL (only needed to rebuild firmware)
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=$TC sh
export ARDUINO_DIRECTORIES_DATA=$TC/ard ARDUINO_DIRECTORIES_USER=$TC/ardu PATH=$TC:$PATH
arduino-cli config init --overwrite >/dev/null
arduino-cli config add board_manager.additional_urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
arduino-cli core update-index
arduino-cli core install esp32:esp32@2.0.17
arduino-cli lib install FabGL@1.0.9
# ESP32 ROM images (from the Espressif QEMU release); skipped if already present
if [ ! -f web/rom/esp32-v3-rom.bin ]; then
mkdir -p web/rom
U=https://github.com/espressif/qemu/releases/download/esp-develop-9.2.2-20260417/qemu-xtensa-softmmu-esp_develop_9.2.2_20260417-x86_64-linux-gnu.tar.xz
curl -fsSL $U | tar -xJ -C $TC qemu/share/qemu/esp32-v3-rom.bin qemu/share/qemu/esp32-v3-rom-app.bin
cp $TC/qemu/share/qemu/esp32-v3-rom*.bin web/rom/
fi
echo "setup done. Next: scripts/build.sh"
|