Files
os-builder/docs/config.md
2026-03-05 08:16:21 -08:00

2.6 KiB

Config

build.sh sources the file config in the current working directory at startup. It can also be specified explicitly:

sudo ./build.sh -c build_amd64

Variables

Core

  • IMG_NAME (Default: chillcraftos-$RELEASE-$ARCH)

    Base name for output files.

  • RELEASE (Default: trixie)

    Debian release to build against.

  • ARCH (Default: arm64)

    Target architecture. One of: arm64, armhf, amd64.

Directories

  • WORK_DIR (Default: $BASE_DIR/work)

    Where stage rootfs directories are built. Should be on a Linux filesystem — NTFS will not work.

  • DEPLOY_DIR (Default: $BASE_DIR/deploy)

    Where finished images and archives are placed.

  • EXPORT_CONFIG_DIR (Default: $BASE_DIR/export-image)

    Directory of scripts used when generating images. Rarely needs changing.

Network / SSH

  • ENABLE_SSH (Default: 0)

    Set to 1 to enable the SSH server in the built image.

  • PUBKEY_SSH_FIRST_USER (Default: unset)

    If set, written to ~/.ssh/authorized_keys for the first user.

  • PUBKEY_ONLY_SSH (Default: 0)

    Set to 1 to disable password auth and require public key auth for SSH.

  • APT_PROXY (Default: unset)

    Apt proxy URL (e.g. http://192.168.1.1:3142). Not included in the final image.

  • TEMP_REPO (Default: unset)

    Additional temporary apt repo used only during the build. Supports RELEASE substitution.

Locale / Keyboard

  • LOCALE_DEFAULT (Default: en_US.UTF-8)

  • KEYBOARD_KEYMAP (Default: en)

  • KEYBOARD_LAYOUT (Default: English (US))

  • TIMEZONE_DEFAULT (Default: America/Los Angeles)

Cloud-init

  • ENABLE_CLOUD_INIT (Default: 1)

    Set to 1 to install and configure cloud-init. On RPi, seed files go to /boot/firmware/. On amd64, they go to /var/lib/cloud/seed/nocloud/.

Other

  • USE_QEMU (Default: 0)

    Set to 1 to produce a QEMU-compatible image (adds -qemu suffix).

  • SETFCAP (Default: unset)

    Set to 1 to preserve Linux capabilities in the rootfs. Only needed for NFS or capability-sensitive deployments.

  • STAGE_LIST (Default: stage*)

    Override the list of stages to run. Example: "stage0 stage1 mystage stage2".

Example Config Files

amd64 live ISO

IMG_NAME='chillcraftos'
RELEASE='trixie'
ARCH='amd64'
LOCALE_DEFAULT='en_US.UTF-8'
KEYBOARD_KEYMAP='us'
KEYBOARD_LAYOUT='English (US)'
TIMEZONE_DEFAULT='America/New_York'
ENABLE_SSH=1

Raspberry Pi (arm64)

IMG_NAME='chillcraftos'
RELEASE='trixie'
ARCH='arm64'
LOCALE_DEFAULT='en_US.UTF-8'
KEYBOARD_KEYMAP='us'
KEYBOARD_LAYOUT='English (US)'
TIMEZONE_DEFAULT='America/New_York'
ENABLE_SSH=1
ENABLE_CLOUD_INIT=1