2026-05-12 19:26:35 +02:00
|
|
|
# Clawdie ISO Requirements
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Build and deployment requirements for the current unified Clawdie ISO.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Quick Checklist
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Before building:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
- [ ] FreeBSD 15.0+ build host
|
2026-05-12 19:26:35 +02:00
|
|
|
- [ ] 150 GB free build space recommended
|
|
|
|
|
- [ ] 64 GB USB key minimum (`IMAGE_SIZE=50G`)
|
|
|
|
|
- [ ] Internet access for fetch phase
|
|
|
|
|
- [ ] root or `sudo` for image assembly
|
|
|
|
|
- [ ] optional Tailscale auth key for secure remote access
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Before installing:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- [ ] Target disk selected and safe to erase
|
|
|
|
|
- [ ] Operator SSH public key available, if using key auth
|
|
|
|
|
- [ ] Tailscale auth key available, if remote first setup should be tailnet-only
|
|
|
|
|
- [ ] Provider/model choice ready for post-install `/setup`
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
---
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Build Host Requirements
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### Operating System
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- FreeBSD 15.0+
|
|
|
|
|
- ZFS recommended for comfortable build storage, but not required by `build.sh`
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### Packages
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Install the baseline tools:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```sh
|
|
|
|
|
sudo pkg install -y curl node24 npm-node24 qt6-base qt6-declarative qt6-buildtools sudo
|
|
|
|
|
```
|
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-04-06 13:28:56 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
`build.sh` sets its own FreeBSD tool PATH:
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```text
|
|
|
|
|
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
|
```
|
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-04-06 13:28:56 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
This keeps fetch/build behavior independent from the invoking user's login PATH.
|
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-04-06 13:28:56 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### Disk Space
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
| Item | Typical size |
|
|
|
|
|
| ---------------------------- | ------------ |
|
|
|
|
|
| FreeBSD memstick cache | ~2 GB |
|
|
|
|
|
| Offline pkg repository | varies |
|
|
|
|
|
| Clawdie-AI offline tarball | varies |
|
|
|
|
|
| Working image | 50 GB sparse |
|
|
|
|
|
| Output image | 50 GB sparse |
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Recommended free space: **150 GB**.
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### USB Key
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
| USB size | Image size | Status |
|
|
|
|
|
| -------- | ---------- | ----------- |
|
|
|
|
|
| 64 GB | 50 GB | minimum |
|
|
|
|
|
| 128 GB | 100 GB | recommended |
|
|
|
|
|
| 256 GB | 200 GB | comfortable |
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Do not use a USB key smaller than the logical image size printed by `build.sh`.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Network Requirements
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### During Build
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Outbound access:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- HTTPS/HTTP to FreeBSD package mirrors
|
|
|
|
|
- HTTPS to Codeberg for Clawdie-AI tarballs
|
|
|
|
|
- HTTPS to npm registry for bundled npm CLI tarballs
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Inbound access: none.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### During Install / First Boot
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Tailscale is recommended but optional.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
With a Tailscale auth key:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- first boot joins the tailnet
|
|
|
|
|
- PF allows SSH on `tailscale0`
|
|
|
|
|
- public SSH is blocked after Tailscale is authenticated
|
|
|
|
|
- operator reaches setup through SSH tunneling to host loopback
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Without a Tailscale auth key:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- install still proceeds
|
|
|
|
|
- public SSH on port 22 remains available
|
|
|
|
|
- operator is responsible for network exposure and SSH hardening
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
The controlplane setup page should be reached locally or through a tunnel:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```sh
|
|
|
|
|
ssh -L 3100:127.0.0.1:3100 clawdie@<host>
|
|
|
|
|
```
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Then open:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```text
|
|
|
|
|
http://127.0.0.1:3100/setup
|
|
|
|
|
```
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Do not expose port `3100` directly on the public internet.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
---
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Target Machine Requirements
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### Minimum Runtime Hardware
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
| Component | Minimum | Recommended | Notes |
|
|
|
|
|
| --------- | ------- | ----------- | ----------------------------- |
|
|
|
|
|
| CPU | 4 cores | 4+ cores | More helps jail provisioning |
|
|
|
|
|
| RAM | 8 GB | 16 GB+ | ZFS + jails + Chromium |
|
|
|
|
|
| Disk | 50 GB | 100 GB+ | More for datasets and caches |
|
|
|
|
|
| Network | 1 NIC | 1 Gbps | Needed for remote operation |
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Local AI models require substantially more disk/RAM and are optional.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
### Display
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
The live installer uses a graphical Lumina/QML session. Headless/server flows
|
|
|
|
|
are still under active validation; use bhyve/console access for testing.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Tailscale Auth Key
|
2026-04-12 18:37:57 +00:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Generate a key at:
|
2026-04-12 18:37:57 +00:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```text
|
|
|
|
|
https://login.tailscale.com/admin/settings/keys
|
2026-04-12 18:37:57 +00:00
|
|
|
```
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Recommended options:
|
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-04-06 13:28:56 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- reusable key for repeated test installs
|
|
|
|
|
- expiration appropriate for the test window
|
|
|
|
|
- optional tag if your tailnet policy uses tags
|
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-04-06 13:28:56 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Export before build if you want it baked into the image environment:
|
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-04-06 13:28:56 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```sh
|
|
|
|
|
export TAILSCALE_AUTHKEY="tskey-auth-..."
|
2026-04-06 12:25:39 +02:00
|
|
|
```
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
You can also enter/paste the key in the live installer if the UI path exposes it
|
|
|
|
|
for that build.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Post-Install Setup Requirements
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Provider keys and Telegram are no longer install-time requirements.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
After first boot, the installed system creates a one-time bootstrap token at:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```text
|
|
|
|
|
/var/db/clawdie-installer/setup-token
|
|
|
|
|
```
|
2026-05-10 14:23:03 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Use it at:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```text
|
|
|
|
|
http://127.0.0.1:3100/setup
|
|
|
|
|
```
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Recommended provider path:
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
- Pi `/login` with Codex/OpenAI subscription auth
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Peer supported options include OpenAI API, Anthropic, z.ai, OpenRouter, Gemini,
|
|
|
|
|
Groq, DeepSeek, Azure OpenAI, Ollama, and other Pi-supported providers.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
Telegram setup is optional and happens after a provider is configured.
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Build Commands
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
```sh
|
|
|
|
|
# full validation build
|
|
|
|
|
sudo ./build.sh
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
# fetch-only cache refresh
|
|
|
|
|
./build.sh --fetch-only
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
# assemble cached inputs
|
|
|
|
|
sudo ./build.sh --skip-fetch
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
# release build from a pinned Clawdie-AI tag
|
|
|
|
|
BUILD_CHANNEL=release sudo ./build.sh --clawdie-version 0.10.0
|
2026-04-06 12:25:39 +02:00
|
|
|
```
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
---
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
## Common Problems
|
2026-04-06 12:25:39 +02:00
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
| Symptom | Likely cause | Fix |
|
|
|
|
|
| -------------------------------------------- | ------------------------------------ | ---------------------------------------- |
|
|
|
|
|
| missing package archive | stale `tmp/packages` cache | run `sudo ./build.sh` |
|
|
|
|
|
| `pkg` not found in normal shell | user PATH lacks `/usr/local/sbin` | update PATH; build script already guards |
|
|
|
|
|
| cannot attach md device | not root / stale md device | run with sudo; clean stale mdconfig |
|
|
|
|
|
| setup page unreachable remotely | no tunnel / PF boundary | use SSH tunnel to `127.0.0.1:3100` |
|
|
|
|
|
| no Tailscale key | optional remote-access choice | continue with public SSH or rebuild |
|
2026-04-06 12:25:39 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-05-12 19:26:35 +02:00
|
|
|
**Last updated:** 12.maj.2026
|