Resolve conflicts keeping modular shell-*.sh firstboot architecture from implementation branch. New from main: - firstboot/zfs-pool-detect.sh, zfs-pool-migrate.sh, maintenance-mode.sh - vps/ directory (build-vps.sh, migration scripts) - docs/SYNCOID-SETUP.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
55 lines
1.8 KiB
Text
55 lines
1.8 KiB
Text
PARTITIONS=DEFAULT
|
|
DISTRIBUTIONS="kernel.txz base.txz"
|
|
export nonInteractive="YES"
|
|
|
|
#!/bin/sh
|
|
# installerconfig — bsdinstall post-install hook
|
|
#
|
|
# bsdinstall sources this file automatically after base system installation
|
|
# completes. Runs in the context of the live USB environment, with the
|
|
# target HDD mounted at /mnt.
|
|
#
|
|
# PREAMBLE (for bsdinstall scripting):
|
|
# Set ZFS pool name to "clawdie" (project-specific, enables auto-detection)
|
|
export ZFSBOOT_POOL_NAME="clawdie"
|
|
#
|
|
# SETUP SCRIPT:
|
|
#
|
|
# Responsibilities:
|
|
# 1. Copy firstboot payload from USB to installed HDD
|
|
# 2. Enable the clawdie-firstboot rc.d service (runs once on first HDD boot)
|
|
# 3. That's it — all real work happens in firstboot.sh on first boot
|
|
|
|
set -e
|
|
|
|
USB_SHARE="/usr/local/share/clawdie-iso"
|
|
HDD_SHARE="/mnt/usr/local/share/clawdie-iso"
|
|
HDD_RCD="/mnt/usr/local/etc/rc.d"
|
|
|
|
echo "clawdie-iso: injecting firstboot payload..."
|
|
|
|
# Copy firstboot scripts
|
|
mkdir -p "$HDD_SHARE"
|
|
cp -r "${USB_SHARE}/firstboot" "${HDD_SHARE}/"
|
|
cp -r "${USB_SHARE}/packages" "${HDD_SHARE}/"
|
|
cp "${USB_SHARE}/clawdie-ai.tar.gz" "${HDD_SHARE}/"
|
|
cp "${USB_SHARE}/build.cfg" "${HDD_SHARE}/"
|
|
|
|
# Make all firstboot shell modules executable
|
|
chmod +x "${HDD_SHARE}/firstboot/firstboot.sh"
|
|
for sh in "${HDD_SHARE}/firstboot/shell-"*.sh; do
|
|
chmod +x "$sh"
|
|
done
|
|
chmod +x "${HDD_SHARE}/firstboot/zfs-pool-detect.sh" 2>/dev/null || true
|
|
chmod +x "${HDD_SHARE}/firstboot/zfs-pool-migrate.sh" 2>/dev/null || true
|
|
chmod +x "${HDD_SHARE}/firstboot/maintenance-mode.sh" 2>/dev/null || true
|
|
|
|
# Install firstboot rc.d service
|
|
mkdir -p "$HDD_RCD"
|
|
cp "${USB_SHARE}/firstboot/rc.d/clawdie-firstboot" "${HDD_RCD}/clawdie-firstboot"
|
|
chmod +x "${HDD_RCD}/clawdie-firstboot"
|
|
|
|
# Enable service in rc.conf on HDD
|
|
echo 'clawdie_firstboot_enable="YES"' >> /mnt/etc/rc.conf
|
|
|
|
echo "clawdie-iso: firstboot payload installed. Rebooting to HDD..."
|