Prerequisites
Before the Quickstart, get these on your machine. The list is short and the same everywhere; only how you install them changes by OS.
The short list
Section titled “The short list”| Tool | What it’s for |
|---|---|
| Rust (via rustup) | Compiles the kernel and your app. The per-CPU toolchain (Espressif fork for ESP32, a stock target for RP2040) is added in step 1 of the Quickstart. |
| make + a POSIX shell (bash) | Drives every build, flash and test. Native on Linux and macOS; on Windows it comes from MSYS2. |
| Python 3 | Build helpers and the RP2040 on-target self-test harness. Standard library only — nothing to pip install. |
| git | Clone the repository. |
Plus the bits for the board you flash. Every board uses the same tools as the rest of its chip family, so this is grouped by family — the two below cover every supported board (see Supported boards for which board is which):
| Chip family | To flash | Notes |
|---|---|---|
| ESP32 (Xtensa) | espflash + a USB cable |
Installed with the toolchain (cargo install espup espflash). Flashes over USB serial. |
| RP2040 (Arm) | a USB cable + elf2uf2-rs |
cargo install elf2uf2-rs. make flash builds a UF2 and copies it over USB — no debug probe needed. If the board already runs FlintOS with USB enabled it enters BOOTSEL on its own (a 1200bps touch); otherwise hold BOOTSEL while plugging in for the first flash. |
By operating system
Section titled “By operating system”# Debian/Ubuntu; use your distro's equivalent elsewheresudo apt install build-essential python3 gitcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shbuild-essential brings make, a C toolchain and bash. For USB access without
sudo, add yourself to the serial group (sudo usermod -aG dialout $USER, then
re-login) and install probe-rs’s udev rules if you use a debug probe.
xcode-select --install # make, git, a C toolchainbrew install python # or use the system python3curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shmacOS ships bash-compatible shells; nothing else is needed for the build system.
The build is make + shell scripts, so you need Unix tools. MSYS2
provides them — make, bash, the coreutils and cygpath:
pacman -S make # bash + coreutils come with MSYS2's base installAdd MSYS2’s usr\bin to your PATH so make runs from a normal Command Prompt
or PowerShell console, not only the MSYS2 shell. Then install the rest with their
native Windows installers:
- Rust — rustup (the MSVC toolchain).
- Python 3 — python.org; tick Add python.exe to PATH.
- git — Git for Windows.
Check it worked
Section titled “Check it worked”make --versionrustc --versionpython --version # or python3 --versiongit --versionEach should print a version. If make or python isn’t found on Windows, your
PATH is missing MSYS2’s usr\bin or the Python install directory.