Commit graph

8 commits

Author SHA1 Message Date
Sam & Claude
579a8ccd74 build: document Go+Rust build-host toolchains + toolchain-aware preflight
Go (builds the zot agent) and Rust (builds the Colibri release binaries) are
required on the build host to produce the binaries build.sh stages, but were
undocumented. Add them to REQUIREMENTS.md (build-host only, not the image), and
make the binary-missing preflights note when the matching toolchain (go/cargo)
isn't installed so that case surfaces up front instead of later.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 12:27:17 +02:00
b163cf1014 Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
014edc1d9f Clean up docs: fix /login wording, add VPS doc link, remove dead build.cfg IMAGE_NAME, delete stale handoff (Sam & Claude) 2026-06-04 20:04:23 +02:00
ec37206975 Refresh ISO build and setup docs 2026-06-04 20:04:23 +02:00
b04222fa81 Bump FreeBSD 14→15 docs, add CLAWDIE_PROFILE to firstboot
- REQUIREMENTS.md: remove 14.2 minimum floor (15.0+ only)
- firstboot/shell-env.sh: set CLAWDIE_PROFILE=core in fresh install and upgrade append
- AGENTS.md: document mac_do adoption plan reference

---
Build: n/a | Tests: n/a (shell scripts, Linux agent)
2026-06-04 20:04:22 +02:00
e454b3d9a8 Add rustup post-install requirement 2026-06-04 20:04:22 +02:00
1bffa175c8 Unify ISO and fix GPU installation gap (Sam & ZAI)
BREAKING CHANGE: Removes --target and --gpu-driver flags, unified ISO for all use cases

## Phase 0: GPU Fix + Unified ISO

### Core Changes

**GPU Package Installation (FIXES CRITICAL GAP):**
- Add clawdie_shell_nvidia_install() function to shell-nvidia.sh
- NVIDIA drivers now installed after detection (previously only configured)
- Works offline (USB packages) or online (pkg install)
- Resolves issue where rc.conf was set but driver not installed

**Unified ISO Architecture:**
- Remove --target flag from build.sh (no more vps/baremetal branching)
- Remove --gpu-driver flag from build.sh (runtime detection instead)
- All packages included on every ISO (desktop + all GPU drivers)
- Single image works on VPS, baremetal, and cloud

**Runtime Detection:**
- Add shell-desktop.sh for display detection at firstboot
- VPS/cloud: no display → lightdm disabled (headless)
- Baremetal: display detected → lightdm enabled (Lumina desktop)
- GPU detection always runs, installs correct driver version

**Sudo Unification:**
- Replace all doas references with sudo across entire codebase
- Update AGENTS.md with system configuration guidelines
- Update all documentation (BUILD.md, README.md, REQUIREMENTS.md, etc.)
- Admin panel now uses sudo for privileged operations

### Files Modified

**Core System:**
- build.sh: Remove target/gpu-driver logic, unified package selection
- firstboot/firstboot.sh: Add desktop detection module
- firstboot/shell-nvidia.sh: Add package installation function (+33 lines)

**New Files:**
- firstboot/shell-desktop.sh: Display detection and desktop enablement
- packages/pkg-list-nvidia-all.txt: All three NVIDIA driver versions (390/470/590)
- .opencode/plans/phase0-gpu-fix-unified-iso.md: Implementation plan

**Documentation:**
- PLAN-UNIFY.md: Update Step 3 for unified approach
- REQUIREMENTS.md: Simplify (no target choice), update for sudo
- BUILD.md: Update for unified ISO, sudo commands
- README.md: Update installation instructions
- AGENTS.md: Add system configuration section (sudo standardization)
- ADMIN-PANEL.md: Update privileged operations to use sudo
- CLAWDIE-SHELL.md: Update example commands to sudo
- CLAWDIE-ISO-REFACTORED.md: Update access paths to sudo
- REFACTOR-SUMMARY.md: Update permissions section to sudo

### Benefits

**Simplicity:**
- One build command: ./build.sh (no flags needed)
- One ISO to test and maintain
- No wrong choices for users
- No documentation explaining target differences

**Flexibility:**
- VPS can use GUI via VNC (wayvnc always available)
- Baremetal can run headless (disable lightdm)
- Repurpose hardware without reinstall
- All GPU drivers available for any hardware

**Technical:**
- Fixes critical GPU driver installation gap
- Runtime detection replaces build-time decisions
- Disk overhead: ~650MB (1-2% of 50GB - acceptable)
- No runtime overhead on VPS (services disabled by detection)

### Testing Required

- [ ] Build unified ISO: ./build.sh
- [ ] Test on VPS (no display): lightdm disabled, packages installed
- [ ] Test on baremetal (display): lightdm enabled, Lumina boots
- [ ] Test on NVIDIA hardware: driver installed and loaded
- [ ] Test sudo commands work without password prompts
- [ ] Verify all doas references removed
2026-06-04 20:04:22 +02:00
95aec991f0 docs: add REQUIREMENTS.md with pre-install checklist (Sam & Claude)
Comprehensive pre-install requirements guide:

Hardware requirements:
- RAM: 8 GB minimum (ZFS + jails), 16 GB recommended, 32 GB for LLM
- Disk: 64 GB USB minimum, 128 GB recommended, 256 GB for LLM
- CPU: 2 cores minimum, 4+ recommended

Network requirements:
- 10+ Mbps internet for fetch phase
- DNS must resolve pkg.FreeBSD.org
- Firewall rules documented

Tailscale setup:
- Inline instructions for auth key generation
- Without-Tailscale warnings
- Security implications explained

Build host requirements:
- FreeBSD 15.0+ (Linux not supported)
- 150 GB free disk space
- curl + doas/sudo packages

Time estimates:
- Fetch: 15-20 min (network dependent)
- Build: 10-15 min (CPU dependent)
- Write: 5-10 min (USB 3.0)
- First boot: 10-15 min
- Total: 40-60 min

USB requirements:
- USB 3.0 recommended (5 min write)
- USB 2.0 works but slower (10-15 min write)
- Quality brands recommended

Additional sections:
- Pre-install checklist
- Target-specific requirements (baremetal vs vps)
- Offline/air-gapped build instructions
- Troubleshooting common issues
- Quick reference for minimal/recommended/LLM setups
2026-06-04 20:04:22 +02:00