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>
42 lines
971 B
Bash
42 lines
971 B
Bash
#!/bin/sh
|
|
#
|
|
# PROVIDE: clawdie_firstboot
|
|
# REQUIRE: NETWORKING LOGIN
|
|
# BEFORE: clawdie
|
|
# KEYWORD: firstboot
|
|
#
|
|
# clawdie-firstboot — runs once on first HDD boot to complete Clawdie-AI setup.
|
|
# Self-disables on completion.
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="clawdie_firstboot"
|
|
rcvar="${name}_enable"
|
|
start_cmd="${name}_start"
|
|
stop_cmd=":"
|
|
|
|
SHARE="/usr/local/share/clawdie-iso"
|
|
LOG="/var/log/clawdie-firstboot.log"
|
|
|
|
clawdie_firstboot_start()
|
|
{
|
|
echo "Starting Clawdie first-boot setup..."
|
|
|
|
# Run on ttyv0 so bsddialog has a real TTY for the wizard
|
|
/usr/bin/script -q -a "$LOG" \
|
|
/bin/sh "${SHARE}/firstboot/firstboot.sh"
|
|
|
|
RC=$?
|
|
|
|
if [ "$RC" -eq 0 ]; then
|
|
echo "Clawdie first-boot setup complete. Disabling service."
|
|
sysrc -x clawdie_firstboot_enable
|
|
rm -rf "$SHARE"
|
|
else
|
|
echo "Clawdie first-boot setup failed (exit $RC). Check $LOG"
|
|
fi
|
|
}
|
|
|
|
load_rc_config "$name"
|
|
: "${clawdie_firstboot_enable:=NO}"
|
|
run_rc_command "$1"
|