clawdie-iso/firstboot
Sam & Claude 3299de74bb fix: Phase 4 blockers — path detection + progress tracking (Sam & Claude)
Fix 2 critical issues preventing Phase 4 from working on FreeBSD:

1. Path Detection (main.cpp:438-447)
   - Detect firstboot.sh location at runtime
   - Try /usr/local/share/clawdie-iso/firstboot/firstboot.sh (live ISO)
   - Fall back to /home/clawdie/clawdie-iso/firstboot/firstboot.sh (dev)
   - Error with helpful message if neither found
   - Closes blocker: installer now works on both dev + ISO

2. Progress Tracking (firstboot.sh:49-65, 253-262)
   - Add optional _step_num parameter to run_step() function
   - Write PROGRESS=N to progress file after each step completes
   - Update all 10 step calls with step numbers (1-8)
   - Closes blocker: progress bar now moves from 0% to 100%

3. Privilege Escalation (main.cpp:460)
   - Add sudo wrapper to firstboot.sh execution
   - Prompts for password when needed
   - Closes blocker: pkg/sysrc operations now succeed

Files changed:
- main.cpp: +13 lines (path detection + sudo)
- firstboot.sh: +7 lines (progress tracking)

All changes validate:
- C++ compiles clean (2 pre-existing warnings)
- Shell syntax valid (sh -n)
- Binary created: 115 KB

Status: Ready for ISO build + FreeBSD testing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 20:04:22 +02:00
..
gui fix: Phase 4 blockers — path detection + progress tracking (Sam & Claude) 2026-06-04 20:04:22 +02:00
rc.d feat: initial clawdie-iso skeleton 2026-06-04 20:04:21 +02:00
firstboot.sh fix: Phase 4 blockers — path detection + progress tracking (Sam & Claude) 2026-06-04 20:04:22 +02:00
gpu-detect.sh feat: initial clawdie-iso skeleton 2026-06-04 20:04:21 +02:00
integration-test.sh feat: rename cloud→vps, fix domain naming (Sam & Claude) 2026-06-04 20:04:22 +02:00
maintenance-mode.sh Harden firstboot scripts: POSIX fixes, quoting, offline pkg path 2026-06-04 20:04:22 +02:00
MODULE-MANIFEST.md feat: rename cloud→vps, fix domain naming (Sam & Claude) 2026-06-04 20:04:22 +02:00
shell-deploy.sh Harden upgrade staging: validate, propagate failures, safe copy 2026-06-04 20:04:22 +02:00
shell-desktop.sh Unify ISO and fix GPU installation gap (Sam & ZAI) 2026-06-04 20:04:22 +02:00
shell-env.sh Add EMBED_API_KEY and EMBED_DIMENSIONS to .env pipeline 2026-06-04 20:04:22 +02:00
shell-gpu.sh impl: Complete all 5 shell modules for v0.9.0 installer 2026-06-04 20:04:21 +02:00
shell-nvidia.sh Unify ISO and fix GPU installation gap (Sam & ZAI) 2026-06-04 20:04:22 +02:00
shell-pf.sh feat: port PF module with glasspane VNC (Sam & Claude) 2026-06-04 20:04:22 +02:00
shell-pkg.sh impl: Complete all 5 shell modules for v0.9.0 installer 2026-06-04 20:04:21 +02:00
shell-ssh.sh firstboot: Add shell-ssh.sh module and restore shell-system.sh 2026-06-04 20:04:21 +02:00
shell-system.sh feat: rename cloud→vps, fix domain naming (Sam & Claude) 2026-06-04 20:04:22 +02:00
shell-tailscale.sh feat: recommend Tailscale with optional opt-out (Sam & Claude) 2026-06-04 20:04:22 +02:00
shell-zfs.sh Wire ZFS pool detection into firstboot pipeline (Sam & Claude) 2026-06-04 20:04:22 +02:00
vps-path-test.sh feat: rename cloud→vps, fix domain naming (Sam & Claude) 2026-06-04 20:04:22 +02:00
zfs-pool-detect.sh Wire ZFS pool detection into firstboot pipeline (Sam & Claude) 2026-06-04 20:04:22 +02:00
zfs-pool-migrate.sh Wire ZFS pool detection into firstboot pipeline (Sam & Claude) 2026-06-04 20:04:22 +02:00