• KERNEL_ONLY (yes|no):
    • leave empty to display selection dialog each time
    • set to “yes” to compile only kernel, u-boot and other packages for installing on existing Armbian system
    • set to “no” to build complete OS image for writing to SD card
  • KERNEL_CONFIGURE (yes|no):
    • leave empty to display selection dialog each time
    • set to “yes” to configure kernel (add or remove modules or features). Kernel configuration menu will be brought up before compilation
    • set to “no” to compile kernel without changing default or custom provided configuration
  • CLEAN_LEVEL (comma-separated list): defines what should be cleaned. Default value is "make,debs" - clean sources and remove all packages. Changing this option can be useful when rebuilding images or building more than one image
    • “make” = execute make clean for selected kernel and u-boot sources,
    • “images” = delete output/images (complete OS images),
    • “debs” = delete packages in output/debs for current branch and device family,
    • “alldebs” = delete all packages in output/debs,
    • “cache” = delete cache/rootfs (rootfs cache),
    • “sources” = delete cache/sources (all downloaded sources),
    • “extras” = delete additional packages for current release in output/debs/extra
  • KERNEL_KEEP_CONFIG (yes|no):
    • set to “yes” to use kernel config file from previous compilation for the same branch, device family and version
    • set to “no” to use default or user-provided config file
  • BUILD_DESKTOP (yes|no):
    • set to “yes” to build image with minimal desktop environment
    • set to “no” to build image with console interface only
  • EXTERNAL (yes|no):
    • set to “yes” to compile and install extra applications and firmware
  • BSPFREEZE (no|yes): freeze (from update) armbian packages when building images (u-boot, kernel, dtb)
  • INSTALL_HEADERS (no|yes): install kernel headers package
  • EXTERNAL_NEW (no|prebuilt|compile):
    • set to “prebuilt” to install extra applications from repository
    • set to “compile” to compile extra applications in chroot
  • CREATE_PATCHES (yes|no):
    • set to “yes” will prompt you right before the compilation starts to make changes to the source code. Separate for u-boot and kernel. It will also create a patch out of this. If you want that this patch is included in the normal run, you need to copy it to appropriate directory
    • set to “no” compilation will run uninterrupted
  • BUILD_ALL (yes|no|demo): cycle through all available board and kernel configurations and make images for all combinations
  • LIB_TAG (master|“branchname”):
    • set to “master” to compile from the master branch (default)
    • set to “branchname” to compile from any other branch available (“next” & “second” are deprecated and not recommended to use).
  • CARD_DEVICE (/dev/sdx) set to the device of your SD card. The image will be burned and verified using Etcher for CLI.
  • CRYPTROOT_ENABLE (yes|no): set to enable LUKS encrypted rootfs. You must also provide unlock password CRYPTROOT_PASSPHRASE=”MYSECRECTPASS” and optional CRYPTROOT_SSH_UNLOCK=yes CRYPTROOT_SSH_PORT=2222 Function is under testing and works only when building in native environment, Stretch and Bionic targets only, some kernels might lack dependencies. Building under the Docker not supported yet.

Hidden options to minimize user input for build automation:

  • BOARD (string): you can set name of board manually to skip dialog prompt
  • BRANCH (default|next|dev): you can set kernel and u-boot branch manually to skip dialog prompt; some options may not be available for all devices
  • RELEASE (stretch|jessie|bionic|xenial): you can set OS release manually to skip dialog prompt; use this option with KERNEL_ONLY=yes to create board support package

Hidden options for advanced users (default values are marked bold):

  • USE_CCACHE (yes|no): use a C compiler cache to speed up the build process
  • PRIVATE_CCACHE (yes|no) use $DEST/ccache as ccache home directory
  • PROGRESS_DISPLAY (none|plain|dialog): way to display output of verbose processes - compilation, packaging, debootstrap
  • PROGRESS_LOG_TO_FILE (yes|no): duplicate output, affected by previous option, to log files output/debug/*.log
  • USE_MAINLINE_GOOGLE_MIRROR (yes|no): use googlesource.com mirror for downloading mainline kernel sources, may be faster than git.kernel.org depending on your location
  • USE_GITHUB_UBOOT_MIRROR (yes|no): use unofficial Github mirror for downloading mainline u-boot sources, may be faster than git.denx.de depending on your location
  • IGNORE_UPDATES (yes|no): skip downloading and updating sources
  • FORCE_USE_RAMDISK (yes|no): overrides autodetect for using tmpfs in new debootstrap and image creation process
  • FIXED_IMAGE_SIZE (integer): create image file of this size (in megabytes) instead of minimal
  • COMPRESS_OUTPUTIMAGE (yes|no): create compressed archive with image file and GPG signature for redistribution
  • SEVENZIP (yes|no): create .7z archive with extreme compression ratio instead of .zip
  • BUILD_KSRC (yes|no): create kernel source packages
  • ROOTFS_TYPE (ext4|f2fs|btrfs|nfs|fel): create image with different root filesystems instead of default ext4. Requires setting FIXED_IMAGE_SIZE to something smaller than the size of your SD card for F2FS
  • FORCE_CHECKOUT (yes|no): set to “no” to skip forced sources checkout and patching