3.4 KiB
3.4 KiB
Progress
This file is now intentionally compact.
Detailed chronological history through Phase 18.2 has been archived at:
docs/reports/progress-log-through-phase18-2-freebsd.md
For a broader narrative summary, see:
docs/PROG_SUMMARY.md
Current status
Fruix currently has:
- declarative system modeling on FreeBSD
- content-addressed system closures under
/frx/store - native FreeBSD base artifacts in
/frx/store - declarative FreeBSD source objects and source materialization
- source-driven native base builds from materialized source snapshots
- side-by-side source revisions and boot validation
- a host-driven non-interactive install path:
fruix system install
- a bootable Fruix-managed installer environment:
fruix system installer
- a bootable Fruix-managed installer ISO:
fruix system installer-iso
Validated boot modes still are:
freebsd-init+rc.d-shepherdshepherd-pid1
The validated Phase 18 installation work currently uses:
freebsd-init+rc.d-shepherd
Latest completed achievement
2026-04-04 — Phase 18.3 completed
Fruix now builds a bootable installer ISO, boots it, installs from it, and boots the installed target successfully.
Highlights:
- added in
modules/fruix/system/freebsd.scm:operating-system-installer-iso-specmaterialize-installer-iso
- added CLI support in
scripts/fruix.scm:fruix system installer-iso
- the installer ISO now carries:
- a UEFI El Torito boot image
/boot/root.imgas the installer mdroot payload- the installer closure
- the selected target closure
- the target runtime store closure needed for installation
- in-guest installer state/log/scripts
- validated workflows:
- local QEMU/UEFI/TCG boot, install, and installed-target reboot
- real XCP-ng VM boot, install, and installed-target reboot
- a platform-specific installer detail is now recorded in-tree:
- QEMU ISO path installs onto
/dev/vtbd0 - XCP-ng ISO path installs onto
/dev/ada0
- QEMU ISO path installs onto
Validation:
PASS phase18-installer-isoPASS phase18-installer-iso-xcpng
Report:
docs/reports/phase18-installer-iso-freebsd.md
Commits:
1970c5c—system: add UEFI installer ISO builder604ad82—system: validate UEFI installer ISO boot path
Recent major milestones
1d00907—Add Fruix bootable installer environment2517710—Add non-interactive Fruix installation flow02a02e3—Document Fruix FreeBSD source policy865012e—Boot Fruix from distinct FreeBSD source revisions8150508—Validate side-by-side FreeBSD source revisions5cbf5b9—Build native bases from materialized FreeBSD sources
Active constraints
- local
bhyveremains blocked under Xen due to lack of nested VT-x exposure - XO self-service creation is still not usable with the current token
- real XCP-ng validation must continue to use:
- VM
90490f2e-e8fc-4b7a-388e-5c26f0157289 - approved A/B VDIs:
0f1f90d3-48ca-4fa2-91d8-fc6339b957437061d761-3639-4bec-87f7-2ba1af924eaa
- VM
- local QEMU/TCG validation keeps conservative default SMP settings;
QEMU_SMPremains overrideable
Next step
Per docs/PLAN_4.md, the next planned step is:
- Phase 19.1 — define and document the canonical Fruix deployment workflow for rebuild, image generation, installation, and rollback
Phase 18.3 is now complete: Fruix can build, boot, install from, and validate a bootable UEFI installer ISO on FreeBSD.