How Hard Could It Be? Modernizing XigmaNAS for OpenZFS 2.4.0

Friday 15:45 - 16:35

XigmaNAS, rooted in FreeBSD 6, remains one of the longest-running embedded NAS solutions. This talk is a guided tour of how XigmaNAS is built and how it operates, highlighting modernization efforts, dragons encountered along the way, and areas for future work.

I assumed upgrading the base OS and OpenZFS would be straightforward. Instead, it became a months-long exercise in yak shaving across build scripts, Makefiles, tooling, and undocumented assumptions.

While upgrading to FreeBSD 15.0-p1, I modernized and automated the build process by skipping unnecessary compilation, adding parallelism and caching, optimizing compression, and improving image creation with pkg/pkgbase, newfs, and mkimg. Builds evolved from VM-based workflows to self-hosted jail builds, with testing via bhyve and development via VS Code Server on the Linuxulator using Devuan. These changes reduced build times from hours to minutes and streamlined testing, deployment, and development.

As a first-time contributor, this talk is also an experience report on navigating technical and social constraints while safely modernizing a mature BSD distribution, sharing lessons on legacy systems, evolving workflows, and contributing to long-lived open source projects.

Some detours:

Previously working at Microsoft writing code for computers, Ken now works at a yoga studio instructing classes for students. He first used FreeBSD in the late 90s, is a Unix enthusiast, and made his first non-trivial contribution to an open-source project in 2024.