feat: initial clawdie-iso skeleton
USB installer for Clawdie-AI. Combines FreeBSD base install,
desktop-installer GPU/DE setup, and Clawdie-AI deployment into
a single rc.firstboot wizard flow.
Skeleton includes:
- build.cfg: FreeBSD 15.0-RELEASE-p4, amd64, XFCE default
- build.sh: 7-step build outline (fetch → inject → repack), stubs
- installerconfig: bsdinstall post-install hook, copies firstboot/ to HDD
- firstboot/rc.d/clawdie-firstboot: runs once on first HDD boot
- firstboot/firstboot.sh: tiered bsddialog wizard (identity, desktop,
pi profile, auto-generated secrets, AGENTS.md seeding, npm prefix setup)
- firstboot/gpu-detect.sh: pciconf PCI ID → kld/xorg driver mapping
- CLAWDIE-ISO.md: full design doc (copied from clawdie-ai)
VirtualBox excluded. pkg latest default. LLM keys deferred to pi first-run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:20:23 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
# clawdie-iso build configuration
|
|
|
|
|
# Sourced by build.sh — edit before building
|
|
|
|
|
|
2026-03-24 00:51:22 +00:00
|
|
|
FREEBSD_VERSION="15.0-RELEASE"
|
feat: initial clawdie-iso skeleton
USB installer for Clawdie-AI. Combines FreeBSD base install,
desktop-installer GPU/DE setup, and Clawdie-AI deployment into
a single rc.firstboot wizard flow.
Skeleton includes:
- build.cfg: FreeBSD 15.0-RELEASE-p4, amd64, XFCE default
- build.sh: 7-step build outline (fetch → inject → repack), stubs
- installerconfig: bsdinstall post-install hook, copies firstboot/ to HDD
- firstboot/rc.d/clawdie-firstboot: runs once on first HDD boot
- firstboot/firstboot.sh: tiered bsddialog wizard (identity, desktop,
pi profile, auto-generated secrets, AGENTS.md seeding, npm prefix setup)
- firstboot/gpu-detect.sh: pciconf PCI ID → kld/xorg driver mapping
- CLAWDIE-ISO.md: full design doc (copied from clawdie-ai)
VirtualBox excluded. pkg latest default. LLM keys deferred to pi first-run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:20:23 +00:00
|
|
|
FREEBSD_ARCH="amd64"
|
2026-03-24 00:51:22 +00:00
|
|
|
FREEBSD_MEMSTICK_URL="https://download.freebsd.org/releases/ISO-IMAGES/15.0/FreeBSD-${FREEBSD_VERSION}-${FREEBSD_ARCH}-memstick.img"
|
feat: initial clawdie-iso skeleton
USB installer for Clawdie-AI. Combines FreeBSD base install,
desktop-installer GPU/DE setup, and Clawdie-AI deployment into
a single rc.firstboot wizard flow.
Skeleton includes:
- build.cfg: FreeBSD 15.0-RELEASE-p4, amd64, XFCE default
- build.sh: 7-step build outline (fetch → inject → repack), stubs
- installerconfig: bsdinstall post-install hook, copies firstboot/ to HDD
- firstboot/rc.d/clawdie-firstboot: runs once on first HDD boot
- firstboot/firstboot.sh: tiered bsddialog wizard (identity, desktop,
pi profile, auto-generated secrets, AGENTS.md seeding, npm prefix setup)
- firstboot/gpu-detect.sh: pciconf PCI ID → kld/xorg driver mapping
- CLAWDIE-ISO.md: full design doc (copied from clawdie-ai)
VirtualBox excluded. pkg latest default. LLM keys deferred to pi first-run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:20:23 +00:00
|
|
|
FREEBSD_MEMSTICK_SHA256_URL="${FREEBSD_MEMSTICK_URL}.SHA256"
|
|
|
|
|
|
|
|
|
|
# Output image
|
2026-03-17 12:02:11 +00:00
|
|
|
# User-facing date format: DD.mmm.YYYY (per AGENTS.md convention)
|
2026-03-24 00:51:22 +00:00
|
|
|
#
|
|
|
|
|
# USB KEY SIZING GUIDE:
|
|
|
|
|
# 64GB USB → IMAGE_SIZE="50G" (leaves ~14GB spare for user data/cache)
|
|
|
|
|
# 128GB USB → IMAGE_SIZE="100G" (leaves ~28GB spare)
|
|
|
|
|
# 256GB USB → IMAGE_SIZE="200G" (leaves ~56GB spare)
|
|
|
|
|
#
|
|
|
|
|
# Minimum: 64GB USB (with IMAGE_SIZE=50G)
|
|
|
|
|
# Recommended: 128GB USB (with IMAGE_SIZE=100G) for comfortable offline setup
|
|
|
|
|
#
|
|
|
|
|
IMAGE_SIZE="50G"
|
2026-03-17 12:02:11 +00:00
|
|
|
IMAGE_NAME="clawdie-iso-$(date +%d.%b.%Y | tr 'A-Z' 'a-z').img"
|
feat: initial clawdie-iso skeleton
USB installer for Clawdie-AI. Combines FreeBSD base install,
desktop-installer GPU/DE setup, and Clawdie-AI deployment into
a single rc.firstboot wizard flow.
Skeleton includes:
- build.cfg: FreeBSD 15.0-RELEASE-p4, amd64, XFCE default
- build.sh: 7-step build outline (fetch → inject → repack), stubs
- installerconfig: bsdinstall post-install hook, copies firstboot/ to HDD
- firstboot/rc.d/clawdie-firstboot: runs once on first HDD boot
- firstboot/firstboot.sh: tiered bsddialog wizard (identity, desktop,
pi profile, auto-generated secrets, AGENTS.md seeding, npm prefix setup)
- firstboot/gpu-detect.sh: pciconf PCI ID → kld/xorg driver mapping
- CLAWDIE-ISO.md: full design doc (copied from clawdie-ai)
VirtualBox excluded. pkg latest default. LLM keys deferred to pi first-run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:20:23 +00:00
|
|
|
|
|
|
|
|
# Clawdie-AI release to bundle (fetched from Codeberg)
|
2026-03-24 08:01:59 +00:00
|
|
|
CLAWDIE_VERSION="0.9.0"
|
feat: initial clawdie-iso skeleton
USB installer for Clawdie-AI. Combines FreeBSD base install,
desktop-installer GPU/DE setup, and Clawdie-AI deployment into
a single rc.firstboot wizard flow.
Skeleton includes:
- build.cfg: FreeBSD 15.0-RELEASE-p4, amd64, XFCE default
- build.sh: 7-step build outline (fetch → inject → repack), stubs
- installerconfig: bsdinstall post-install hook, copies firstboot/ to HDD
- firstboot/rc.d/clawdie-firstboot: runs once on first HDD boot
- firstboot/firstboot.sh: tiered bsddialog wizard (identity, desktop,
pi profile, auto-generated secrets, AGENTS.md seeding, npm prefix setup)
- firstboot/gpu-detect.sh: pciconf PCI ID → kld/xorg driver mapping
- CLAWDIE-ISO.md: full design doc (copied from clawdie-ai)
VirtualBox excluded. pkg latest default. LLM keys deferred to pi first-run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:20:23 +00:00
|
|
|
CLAWDIE_TARBALL_URL="https://codeberg.org/Clawdie/Clawdie-AI/archive/v${CLAWDIE_VERSION}.tar.gz"
|
|
|
|
|
|
|
|
|
|
# Default installer choices (can be overridden by clawdie.conf on USB)
|
|
|
|
|
DEFAULT_PKG_BRANCH="latest" # latest or quarterly
|
|
|
|
|
DEFAULT_DESKTOP="xfce" # xfce, kde, mate, headless
|
2026-03-24 01:17:37 +00:00
|
|
|
|
|
|
|
|
# GPU driver variant (set at build time via --gpu-driver flag)
|
|
|
|
|
# intel | amd | nvidia-590 | nvidia-470 | nvidia-390 | vesa | "" (auto-detect)
|
|
|
|
|
GPU_DRIVER=""
|
2026-03-24 01:50:31 +00:00
|
|
|
|
|
|
|
|
# Deploy target
|
|
|
|
|
TARGET="baremetal" # cloud | baremetal
|
|
|
|
|
|
|
|
|
|
# Cloud pre-bake vars (supplied via --assistant-name, --domain, --tz flags)
|
|
|
|
|
# Leave blank for baremetal — firstboot wizard collects these interactively
|
|
|
|
|
ASSISTANT_NAME=""
|
|
|
|
|
AGENT_DOMAIN=""
|
|
|
|
|
TZ=""
|
2026-03-24 07:45:44 +00:00
|
|
|
|
|
|
|
|
# SSH public key (optional, supplied via --ssh-key flag)
|
|
|
|
|
# If provided, disables password auth; if not, enables password auth fallback
|
|
|
|
|
SSH_PUBLIC_KEY=""
|
|
|
|
|
|
|
|
|
|
# System passwords (optional, supplied via flags)
|
|
|
|
|
# If not provided, auto-generated at firstboot
|
|
|
|
|
ROOT_PASSWORD=""
|
|
|
|
|
CLAWDIE_USER_PASSWORD=""
|