3.1 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:vesperos-$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.
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". -
EXPORTS(Default: unset)Space-separated list of
stage:typepairs declaring what to export and from which stage. Supported types:squashfs,img,noobs. Example:EXPORTS="stage3:squashfs" EXPORTS="stage3:squashfs stage2:img"
Live boot (squashfs only)
-
LIVEBOOT(Default:0)Set to
1to produce a second-livesquashfs alongside the raw one. Installslive-boot, configures GDM autologin, and rebuilds the initramfs. Only applies toamd64. -
LIVE_USERNAME(Default:vesperos) -
LIVE_USER_FULLNAME(Default:Live User) -
LIVE_USER_PASSWORD(Default:vesperos)
NOOBS
-
NOOBS_NAME— Display name shown in the NOOBS menu. -
NOOBS_DESCRIPTION— Short description shown in the NOOBS menu.Both must be set in the config when using
noobsinEXPORTS.
Example Config Files
amd64 with live boot
ARCH='amd64'
EXPORTS="stage3:squashfs"
DEPLOY_COMPRESSION="none"
LIVEBOOT=1
LIVE_USERNAME="vesper"
LIVE_USER_PASSWORD="vesper"
Raspberry Pi (arm64)
ARCH='arm64'
EXPORTS="stage3:squashfs"
DEPLOY_COMPRESSION="none"
ENABLE_CLOUD_INIT=1