Skip to main content
Building OpenWrt requires a GNU/Linux, BSD, or macOS host with a case-sensitive filesystem. Cygwin is not supported due to its lack of a case-sensitive filesystem.

Required tools

The following tools must be present on your host system. Package names vary between distributions.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install
libc-dev libz-dev make4.1+ perl python3.7+ rsync subversion
unzip which

Install commands by distribution

sudo apt update
sudo apt install -y \
  binutils bzip2 diffutils findutils flex gawk gcc \
  getopt grep coreutils build-essential zlib1g-dev \
  make perl python3 rsync subversion unzip
A complete, distribution-specific package list is maintained in the OpenWrt Build System Setup documentation on the OpenWrt wiki.

macOS

macOS is supported when using a case-sensitive filesystem (the default APFS volume created during macOS installation is not case-sensitive). You can create a case-sensitive APFS volume in Disk Utility and clone the repository there. Required tools can be installed via Homebrew.
Cygwin is not supported. The OpenWrt build system requires a case-sensitive filesystem, which Cygwin does not provide.

Filesystem requirement

The directory containing the OpenWrt source tree must reside on a case-sensitive filesystem. On Linux this is standard for any ext4, xfs, or btrfs volume. On macOS you must explicitly create a case-sensitive volume. Additionally, the path to the source directory must not contain spaces.
# This will cause a build error:
/home/user/my projects/openwrt   # spaces — NOT allowed

# This is fine:
/home/user/openwrt

Hardware recommendations

ResourceMinimumRecommended
Free disk space15 GB25 GB+
RAM4 GB8 GB+
CPU cores14+ (parallel builds significantly reduce build time)
A complete first build can take 1–3 hours depending on your hardware and the number of packages selected. Subsequent builds are much faster because intermediate build artifacts are cached.