Upgrade Guide: Moving from FreeBSD 14.x to 15.0-RELEASE

Upgrade from FreeBSD 14.x to 15.0-RELEASE with confidence. This guide walks you through preparation, upgrade methods, pkgbase considerations, and essential post-upgrade checks to ensure a smooth and reliable transition to FreeBSD’s newest release.

Upgrade Guide: Moving from FreeBSD 14.x to 15.0-RELEASE

✅ 1. Pre-Upgrade Preparations

  • Backup everything. Before doing any major upgrade—especially between major FreeBSD versions—make sure you have full backups of your data, configuration files, and any important customizations. The official release notes stress that “upgrading FreeBSD should only be attempted after backing up all data and configuration files.”
  • Review release notes / errata. Read the official 15.0-RELEASE release notes, hardware-compatibility notes, and the errata list to check for known issues, changed behavior, or features that might affect your system.
  • Update your current 14.x system fully. If you are running 14.x, make sure to install all pending updates for that release before upgrading. This reduces the chance of upgrade problems.

🛞 2. Decide on Your Upgrade Method: Traditional vs “pkgbase”

With 15.0, the base system can be managed in two ways. (The FreeBSD Project)

Method Description Pros / Cons
Traditional: Distribution-sets + freebsd-update(8) The “classic” method: base system remains in sets; upgrades via freebsd-update Familiar, time-tested; avoids potential pkgbase issues.
New: “pkgbase” – base system as packages via pkg(8) Installs base as packages from the “FreeBSD-base” repo; managed via pkg More modern, flexible; aligns with package-based workflow. But as of 15.0 it’s still effectively a “technology preview.” (The FreeBSD Project)

Note: If you have a system already using traditional sets and freebsd-update, you can continue using that path under 15.0. According to developers, freebsd-update remains supported for the full 15.x branch.
Switching an existing system from sets → pkgbase is possible (e.g. via “pkgbasify” or manual methods), but may be non-trivial and should be done carefully — especially on production servers.


🔄 Upgrade Paths

Here are the common upgrade paths from 14.x → 15.0, depending on your setup.

### A. If you stay on the traditional (sets + freebsd-update) path

Finally, install the new userland components:

# freebsd-update install  
``` :contentReference[oaicite:11]{index=11}  

Reboot into the newly installed 15.0 kernel:

# shutdown -r now  
``` :contentReference[oaicite:10]{index=10}  

Start the upgrade to 15.0:

# freebsd-update upgrade -r 15.0-RELEASE  
# freebsd-update install  
``` :contentReference[oaicite:9]{index=9}  

On your 14.x system, install any available updates:

# freebsd-update fetch  
# freebsd-update install  
``` :contentReference[oaicite:8]{index=8}  
💡 If during the upgrade you are asked to merge configuration files, review changes carefully before accepting.

B. If you prefer to migrate to pkgbase (package-based base system)

If you want to convert (or install fresh) to pkgbase under 15.0 — for example, on a VM or new deployment — follow this general flow:

  1. Consult the official pkgbase documentation on the project Wiki.
  2. On a fresh 15.0 install, you can simply choose the “Packages (pkgbase)” method during bsdinstall. The installer will prompt you to pick between “Traditional” or “pkgbase.”
  3. If you are converting an existing 14.x system: you may need a manual migration or use a helper script (e.g. “pkgbasify”). Users caution that pkgbase “is usable but not mature yet.”

Once pkgbase is active: manage the base system via pkg, e.g. to upgrade base:

# pkg upgrade -r FreeBSD-base  

Then upgrade the rest of your installed packages.

⚠️ Important: If you convert to pkgbase, avoid mixing base-set and pkg-base management. Once you move to pkgbase, freebsd-update should no longer be used (or at least, using it is strongly discouraged).


📝 Post-Upgrade Steps & Best Practices

After upgrading:

  • Restart and verify that the system boots correctly with the new kernel (if you did a kernel upgrade).
  • Check important services and daemons, especially if configuration files were touched or merged during upgrade.
  • Run package upgrade or re-install third-party software (ports/packages) if necessary — especially if you switched to pkgbase.
  • Review the 15.0 errata page for any late-breaking issues.
  • Test thoroughly (especially on production machines) before trusting the new system in critical workloads.

🧭 Which Path Makes Sense for You?

  • If you run a production server or a stable setup and prefer minimal surprises, stick with the traditional sets + freebsd-update path.
  • If you are setting up a new system, a VM, or want a modern package-based workflow, and are comfortable with possible rough edges — pkgbase is a compelling choice.
  • If you want to experiment now with pkgbase but preserve a fallback: consider setting up a separate test VM or environment — don’t try “live” conversion on a mission-critical server without testing.

🔚 Summary

Upgrading from FreeBSD 14.x to 15.0 is well-supported. For many existing systems, the classic freebsd-update-based binary upgrade offers a smooth path. For those wanting to embrace the future — a package-based base system, simplified package management, and alignment with modern OS workflows — pkgbase under 15.0 opens a new horizon.

That said: because pkgbase represents a significant shift, treat it with care. Backup first. Test thoroughly. And — when in doubt — prefer the stable, well-trodden path of sets + freebsd-update.