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
1to enable the SSH server in the built image. -
PUBKEY_SSH_FIRST_USER(Default: unset)If set, written to
~/.ssh/authorized_keysfor the first user. -
PUBKEY_ONLY_SSH(Default:0)Set to
1to 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
RELEASEsubstitution.
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
1to 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
1to produce a QEMU-compatible image (adds-qemusuffix). -
SETFCAP(Default: unset)Set to
1to 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