| your Linux construction kit
Source
← Back to Overview

Environment Variable Reference

Every aspect of the kldload build is controlled by environment variables. Set them in kldload.env (sourced automatically) or pass them on the command line. No variable is required — sensible defaults are used for everything.

# Source the env file, then build
source kldload.env && ./deploy.sh build

# Or override on the command line
PROFILE=server DISTRO=centos ./deploy.sh build

Build configuration

VariableDefaultDescription
PROFILEdesktopBuild profile. desktop includes GNOME, Firefox, webui. server is minimal with SSH and ops tools.
DISTROcentosTarget distro. centos, debian, rhel, rocky.
ARCHx86_64Target architecture.
RELEASE9Distro release version (e.g., 9 for CentOS Stream 9, RHEL 9).
EDITIONfreeBuild edition. Always free.
OUTPUT_DIRlive-build/outputWhere the ISO is written.
LOG_DIRlive-build/logsWhere build logs are written.
BUILDER_IMAGEkldload-live-builder:latestDocker image used for the build container.

RHEL subscription (RHEL builds only)

VariableDefaultDescription
RHEL_ACTIVATION_KEYnoneRed Hat activation key name. Required for RHEL builds. Used at build time only — never baked into the ISO.
RHEL_ORG_IDnoneRed Hat organization ID. Found at console.redhat.com under your account.

Installer defaults (target system)

VariableDefaultDescription
KLDLOAD_HOSTNAMEkldload-nodeHostname for the installed system.
KLDLOAD_USERNAMEadminAdmin user created during install.
KLDLOAD_PASSWORDpromptedAdmin user password. Pre-filled to kldload in the webui for testing.
KLDLOAD_ROOT_PASSWORDnoneRoot password. If unset, root login is disabled (sudo only).
KLDLOAD_LOCALEen_US.UTF-8System locale.
KLDLOAD_TIMEZONEUTCSystem timezone (e.g., America/Vancouver).
KLDLOAD_KEYBOARD_LAYOUTusKeyboard layout.
KLDLOAD_PROFILEserverInstall profile for the target system.
KLDLOAD_STORAGE_MODEzfsStorage mode. Always zfs.

ZFS & storage

VariableDefaultDescription
KLDLOAD_INSTALL_DISKauto-detectedTarget disk for installation (e.g., /dev/vda). Auto-detected if only one disk.
KLDLOAD_ENABLE_ZFS1Enable ZFS on root. Always 1.
KLDLOAD_ENABLE_ENCRYPTION0Enable ZFS native encryption (AES-256-GCM). Prompts for passphrase at boot.

Kernel modules

VariableDefaultDescription
KLDLOAD_ENABLE_WIREGUARD1Include WireGuard kernel module and tools.
KLDLOAD_NVIDIA_DRIVERS0Include NVIDIA GPU drivers. Set to 1 to enable.
KLDLOAD_ENABLE_EBPF0Include eBPF tools (bpftool, bpftrace, bcc). Set to 1 to enable.

Networking

VariableDefaultDescription
KLDLOAD_MIRRORhttps://mirror.it.ubc.ca/debianAPT mirror for Debian builds. Auto-detects local darksite mirror if available.
KLDLOAD_SUITEtrixieDebian suite (codename).
KLDLOAD_KEEP_DARKSITE0Keep darksite mirror config post-install (for air-gapped targets).
KLDLOAD_CUSTOM_MIRROR_URLnoneCustom APT mirror URL for air-gapped post-install updates.

Proxmox deployment

VariableDefaultDescription
PROXMOX_HOSTnoneProxmox host IP or hostname.
PROXMOX_NODEnoneProxmox node name.
PROXMOX_TOKEN_IDnoneProxmox API token ID (e.g., root@pam!mytoken).
PROXMOX_TOKEN_SECRETnoneProxmox API token secret.
VMID902VM ID for Proxmox deployment.
VM_NAMEkldload-freeVM name.
VM_MEMORY4096VM RAM in MB.
VM_CORES4VM CPU cores.
VM_DISK_GB40VM disk size in GB.
VM_BRIDGEvmbr0Proxmox network bridge.
VM_SECURE_BOOTnoEnable UEFI Secure Boot on VM.
VM_TPMyesEnable TPM 2.0 on VM.

USB & physical deploy

VariableDefaultDescription
USB_DEVICEnoneUSB device to burn ISO to (e.g., /dev/sdb). Must be explicitly set.
USB_BURN_ON_DEPLOYnoAuto-burn ISO to USB after build. Set to yes to enable.

Seed disk (unattended install)

VariableDefaultDescription
KLDLOAD_INSTALL_DISKautoTarget disk. Auto-detected if only one non-USB disk.
KLDLOAD_HOSTNAMEkldload-nodeHostname.
KLDLOAD_USERNAMEadminAdmin user.
KLDLOAD_PASSWORDrequiredAdmin password.
KLDLOAD_STORAGE_MODEzfsStorage mode.
KLDLOAD_TIMEZONEUTCTimezone.
KLDLOAD_PROFILEserverInstall profile.
kldload.env is gitignored. Credentials (RHEL keys, Proxmox tokens, API secrets) live in kldload.env which is excluded from git. Never committed. Never in the ISO. Build-time only.