+Starting from 14.0-RELEASE, the FreeBSD project has published a set of packages of the kernel and base system, using
+link:https://man.freebsd.org/cgi/man.cgi?query=pkg&sektion=8&manpath=freebsd-ports[pkg(8)]. These can be used in the same convenient way
+that users are used to, for adding and upgrading ported software, but for the kernel and userland itself. The packages, and usage thereof,
+are often referred to as PkgBase.
+
+Packages have been available since link:https://lists.freebsd.org/archives/freebsd-pkgbase/2023-October/000221.html[October 2023],
+considered experimental for FreeBSD's 14 line.
+
+Starting from 15.0-RELEASE, Base System packages will be the default and officially supported way to both install new FreeBSD instances, and also to update and upgrade between minor and major releases.
+
+[NOTE]
+====
+From 15.0-RELEASE onwards, the long-running freebsd-update tool will only be supported on the earlier 13 and 14 lineage branches.
+====
+
+Base System Packages replace:
+
+* tarball distribution sets, such as `base.txz` or `kernel.txz`, which are historically used for installation of the OS with link:https://man.freebsd.org/cgi/man.cgi?query=bsdinstall&sektion=8&manpath=freebsd-release[bsdinstall(8)]
+
+* link:https://man.freebsd.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=freebsd-release[freebsd-update(8)] for updates to the OS.
+
+Base System packages complement crossref:cutting-edge[makeworld,"building and installing from source"], which is still available for those
+who wish to build their own custom kernels or userland. It is also possible to build custom base system packages from local sources, as
+well as just relying on officially provided packages.
+
+=== Converting a Host to use PkgBase
+
+Systems installed with FreeBSD 14.0-RELEASE or later can be converted to use Base System packages. For earlier versions, it is recommended to first upgrade to 14.0-RELEASE, and then convert.
+
+The FreeBSD Foundation has sponsored development of a tool called link:https://github.com/FreeBSDFoundation/pkgbasify[pkgbasify], which for most users, will be the easiest and safest way to convert systems to use Base System packages.
+
+[WARNING]
+====
+Note that you may need up to 5GiB additional free space during this migration, to download, unpack, and relocate any conflicting files. This space check is your responsibility, and the pkgbasify tool will not check for it.
+====
+
+pkgbasify performs 6 main tasks:
+
+* If on ZFS, make a backup boot environment, to allow easily rolling back if required
+* Creates the new package repository config files
+* Upgrades existing system components such as base, kernel, lib32, debug
+* Merges merges existing and new config files
+* Updates passwd and capabilities databases
+* Restarts sshd immediately
+
+[source,shell]
+....
+### TODO this should be in ports or base, not via fetch rando url
+Check out the branch you would like to build packages for
+[source,shell]
+....
+git checkout releng/14.3
+....
+
+Start the building process, depending on the resources available this could take some while.
+You should set the parallel processes according to your cpu core count.
+This example is written for 8 core CPU:
+[source,shell]
+....
+make -j8 buildworld && make -j8 buildkernel && make -j8 packages
+....
+
+If you are building this frequently, you should probably look into using ccache.
+
+After building, the packages will get saved into `/usr/obj/usr/src/repo/FreeBSD:14:amd64/14.3p1` or something like that, depending on the version you build.
+
+To publish these packages to the Network you could set up a nginx service and use this location in your http server configuration:
+[source,config]
+....
+ location /FreeBSD:14:amd64 {
+ alias /usr/obj/usr/src/repo/FreeBSD:14:amd64/;
+ autoindex on;
+ }
+....
+And reload the nginx service.
+
+If you are not using https, you could simly just use a small configuration file on your clients to target the pkgbase version you just built by editing `/usr/local/etc/pkg/repos/FreeBSD-base.conf`