Skip to content

Build switches

Switches are optional parameters passed to ./compile.sh (or set in a build configuration file) that control what and how a build produces. They are all optional; defaults are noted per entry.

Bash
./compile.sh PARAM=value OTHER_PARAM=value [<configfile> ...] [<command>]

Switches vs. board configuration

Switches are per-build parameters. Variables that describe a specific board — its name, family, bootloader, kernel targets — live in the board’s own .conf file; see Board configuration. BOARD is the bridge: BOARD=bananapim5 tells the build to load config/boards/bananapim5.conf.

The reference is split by what each switch controls:

Page Covers
Target Which board, kernel branch and release to build
Image Minimal / desktop image and desktop selection
Contents Packages, firmware, networking and first-run behaviour inside the image
Branding Vendor / OS identity: name, URLs, logo, MOTD colour, maintainer
Kernel Kernel source, config, compiler and bootloader options
Filesystem Root filesystem, partitions, labels, sizes and compression
Host The build host and the Docker build container
Mirrors HTTP proxies, download mirrors and a git proxy
Apt apt-cacher-ng and local .deb package caching
Performance ccache, tmpfs, parallelism and native-armhf acceleration
Patching Round-tripping patches and build-debug switches
Diagnostics Build logs and debug output