diff options
Diffstat (limited to 'installer/lib/config.sh')
| -rw-r--r-- | installer/lib/config.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/installer/lib/config.sh b/installer/lib/config.sh index ed54e36..dea65a0 100644 --- a/installer/lib/config.sh +++ b/installer/lib/config.sh @@ -17,6 +17,10 @@ LOCALE="en_US.UTF-8" KEYMAP="us" ENABLE_SSH="yes" # SSH with root login (default yes for headless) NO_ENCRYPT="no" # Skip filesystem encryption (testing only) +SWAP_SIZE="" # Optional swap partition (e.g. "100G") — carved + # between EFI and root so hibernate has a resume + # target outside the pool. Single-disk only; empty + # keeps the original two-partition layout. # Required fields — installer errors out if any are still empty at install time. HOSTNAME="" @@ -142,6 +146,19 @@ validate_config() { ((++errors)) fi + # SWAP_SIZE: sgdisk size syntax (digits + K/M/G/T), single disk only — + # a per-disk swap on a RAID layout has no defined resume device. + if [[ -n "$SWAP_SIZE" ]]; then + if [[ ! "$SWAP_SIZE" =~ ^[0-9]+[KMGT]$ ]]; then + warn "Invalid SWAP_SIZE '$SWAP_SIZE' (expected e.g. 100G)" + ((++errors)) + fi + if [[ ${#SELECTED_DISKS[@]} -gt 1 ]]; then + warn "SWAP_SIZE is only supported on single-disk installs" + ((++errors)) + fi + fi + if [[ $errors -gt 0 ]]; then error "Config validation failed with $errors error(s)" fi |
