aboutsummaryrefslogtreecommitdiff
path: root/share/man/man7
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man7')
-rw-r--r--share/man/man7/Makefile20
-rw-r--r--share/man/man7/arch.716
-rw-r--r--share/man/man7/build.7332
-rw-r--r--share/man/man7/d.76
-rw-r--r--share/man/man7/development.7113
-rw-r--r--share/man/man7/freebsd-base.7189
-rw-r--r--share/man/man7/hier.723
-rw-r--r--share/man/man7/ports.74
-rw-r--r--share/man/man7/release.715
-rw-r--r--share/man/man7/security.71
-rw-r--r--share/man/man7/simd.743
11 files changed, 577 insertions, 185 deletions
diff --git a/share/man/man7/Makefile b/share/man/man7/Makefile
index 1e50242a1754..6a426cc29b15 100644
--- a/share/man/man7/Makefile
+++ b/share/man/man7/Makefile
@@ -1,5 +1,7 @@
.include <src.opts.mk>
+MANGROUPS= MAN
+
#MISSING: eqnchar.7 ms.7 term.7
MAN= arch.7 \
ascii.7 \
@@ -21,6 +23,7 @@ MAN= arch.7 \
named_attribute.7 \
operator.7 \
orders.7 \
+ freebsd-base.7 \
ports.7 \
release.7 \
sdoc.7 \
@@ -31,12 +34,12 @@ MAN= arch.7 \
stats.7 \
stdint.7 \
sticky.7 \
- tests.7 \
tracing.7 \
tuning.7
MLINKS= intro.7 miscellaneous.7
MLINKS+= growfs.7 growfs_fstab.7
+MLINKS+= freebsd-base.7 pkgbase.7
MLINKS+= security.7 securelevel.7
MLINKS+= c.7 c78.7
MLINKS+= c.7 c89.7
@@ -54,14 +57,21 @@ MLINKS+= networking.7 wifi.7
.endif
.if ${MK_TESTS} != "no"
-ATF= ${SRCTOP}/contrib/atf
-.PATH: ${ATF}/doc
-MAN+= atf.7
+MANGROUPS+= ATF TESTS
+
+TESTS= tests.7
+TESTSPACKAGE= tests
+
+ATF= atf.7
+ATFPACKAGE= atf
+
+ATFPATH= ${SRCTOP}/contrib/atf
+.PATH: ${ATFPATH}/doc
CLEANFILES+= atf.7
atf.7: atf.7.in
sed -e 's,__DOCDIR__,/usr/share/doc/atf,g' \
- <"${ATF}/doc/atf.7.in" >atf.7
+ <"${ATFPATH}/doc/atf.7.in" >atf.7
.endif
.include <bsd.prog.mk>
diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7
index fe4e8055a8b1..5de441aed699 100644
--- a/share/man/man7/arch.7
+++ b/share/man/man7/arch.7
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 14, 2025
+.Dd October 1, 2025
.Dt ARCH 7
.Os
.Sh NAME
@@ -163,7 +163,10 @@ will support execution of
.Dv armv7
binaries if the CPU implements
.Dv AArch32
-execution state, however older arm binaries are not supported by
+execution state.
+Binaries targeting
+.Dv armv6
+and earlier are no longer supported by
.Fx .
.Pp
On all supported architectures:
@@ -180,9 +183,9 @@ On all supported architectures:
Integers are represented in two's complement.
Alignment of integer and pointer types is natural, that is,
the address of the variable must be congruent to zero modulo the type size.
-Most ILP32 ABIs, except
-.Dv arm ,
-require only 4-byte alignment for 64-bit integers.
+The sole exception is that
+.Dv i386
+requires only 4-byte alignment for 64-bit integers.
.Pp
Machine-dependent type sizes:
.Bl -column -offset indent "Architecture" "void *" "long double" "time_t"
@@ -342,9 +345,6 @@ Common type size and endianness macros:
.It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int
.It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer
.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN .
-.Dv PDP11_ENDIAN
-is not used on
-.Fx .
.El
.Pp
Architecture-specific macros:
diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index 4022b915c972..5e15a528246b 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -1,4 +1,4 @@
-.\"-
+.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2000
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd August 8, 2025
+.Dd September 25, 2025
.Dt BUILD 7
.Os
.Sh NAME
@@ -36,34 +36,28 @@ system
.Sh DESCRIPTION
The sources for the
.Fx
-system and its applications are contained in three different directories,
-normally
-.Pa /usr/src ,
-.Pa /usr/doc ,
-and
-.Pa /usr/ports .
-These directories may be initially empty or non-existent until updated with
-Git
-.Po installed from packages with
-.Xr pkg 7
-or from
-.Xr ports 7 Pc .
-Directory
-.Pa /usr/src
-contains the
-.Dq "base system"
-sources, which is loosely defined as the things required to rebuild
-the system to a useful state.
-Directory
-.Pa /usr/doc
-contains the source for the system documentation, excluding the manual
-pages.
-Directory
-.Pa /usr/ports
-contains a tree that provides a consistent interface for building and
-installing third party applications.
-For more information about the ports build process, see
-.Xr ports 7 .
+system and its applications are contained in three directories,
+normally:
+.Bl -tag -width "/usr/ports"
+.It Pa /usr/src
+.Dq base system ,
+loosely defined as everything required to build the system
+to a useful state
+.It Pa /usr/doc
+system documentation, excluding manual pages
+.It Pa /usr/ports
+third-party software, with a consistent interface for building and
+installing them; see
+.Xr ports 7
+.El
+.Pp
+These directories may be initially empty or non-existent until updated
+with Git
+.Po Pa devel/git
+from the
+.Fx
+Ports Collection
+.Pc .
.Pp
The
.Xr make 1
@@ -92,7 +86,9 @@ The canonical object directory is described in the documentation for the
.Cm buildworld
target below.
.Pp
-The build may be controlled by defining
+The
+.Nm
+may be controlled by defining
.Xr make 1
variables described in the
.Sx ENVIRONMENT
@@ -193,6 +189,20 @@ the compiler, linker, assembler, headers and libraries) has been
built; see the
.Cm toolchain
target below.
+.Pp
+.Va BUILDENV_SHELL ,
+which defaults to
+.Pa /bin/sh ,
+is executed.
+This can be set to a command that does something in this build environment,
+like cross build an application.
+If that application has dependencies, though, the
+.Pa devel/poudriere
+package or port provides a more generic solution.
+.It Cm buildenvvars
+Print the shell variables that are set for a
+.Cm buildenv
+envirnoment and exit.
.It Cm buildworld
Build everything but the kernel, configure files in
.Pa etc ,
@@ -268,13 +278,31 @@ defaults to
and
.Sy TARGET_ARCH
must be defined.
+.It Cm packages
+Create a
+.Xr freebsd-base 7
+package repository containing packages that can be
+used to install or upgrade the base system.
+The repository is created in the object directory, under
+.Pa ${REPODIR}/${PKG_ABI}
+where
+.Ev REPODIR
+is the base directory where the repository will be created, and
+.Va PKG_ABI
+is the
+.Xr pkg 7
+ABI for the build target, for example,
+.Pa /usr/obj/${SRCDIR}/repo/FreeBSD:15:amd64 .
.It Cm packageworld
Archive the results of
.Cm distributeworld ,
placing the results in
.Va DISTDIR .
-This target is used while building a release; see
-.Xr release 7 .
+This target is used while building a
+.Xr release 7
+and is unrelated to building
+.Xr freebsd-base 7
+packages.
.It Cm installworld
Install everything built by a preceding
.Cm buildworld
@@ -355,6 +383,14 @@ and
.Va XDDIR
defaults to
.Pa ${TARGET_ARCH}-freebsd .
+.It Cm update-packages
+Create or update the
+.Xr freebsd-base 7
+package repository for the base system.
+If an old repository is being updated,
+then packages whose contents have not changed since the previous version
+will be copied into the new repository to avoid needless updating of the
+version number.
.It Cm xdev-build
Builds for the
.Cm xdev
@@ -392,7 +428,7 @@ The target directory under
.Pa ${DESTDIR}
may be modified using the
.Va INSTKERNNAME
-and
+or
.Va KODIR
.Xr make 1
variables.
@@ -401,26 +437,16 @@ Install the kernel to the directory
.Pa ${DISTDIR}/kernel/boot/kernel .
This target is used while building a release; see
.Xr release 7 .
-.It Cm packages
-Create a
-.Xr pkg 7
-repository containing packages that can be used to create or upgrade an
-installation of the base system.
-The output repository is placed in the object directory, under
-.Pa repo/${PKG_ABI}
-where
-.Va PKG_ABI
-is the
-.Xr pkg 7
-ABI for the build target, for example,
-.Pa /usr/obj/${SRCDIR}/repo/FreeBSD:15:amd64 .
.It Cm packagekernel
Archive the results of
.Cm distributekernel ,
placing the results in
.Va DISTDIR .
-This target is used while building a release; see
-.Xr release 7 .
+This target is used while building a
+.Xr release 7
+and is unrelated to building
+.Xr freebsd-base 7
+packages.
.It Cm kernel
Equivalent to
.Cm buildkernel
@@ -549,6 +575,9 @@ should be set to the name of the package.
LLVM toolchain packages use the name llvm<major version>.
GCC toolchains provide separate packages for each architecture and use the
name ${MACHINE_ARCH}-gcc<major version>.
+.It Va INSTKERNNAME
+If set, specify an alternative name to build and install for the various
+kernel make targets.
.It Va KERNCONF
Overrides which kernel to build and install for the various kernel
make targets.
@@ -583,6 +612,9 @@ then
.Va KERNCONF
is set to the value of
.Va KERNFAST .
+.It Va KODIR
+If set,
+this variable specifies an alternative directory to install the kernel.
.It Va LOCAL_DIRS
If set, this variable supplies a list of additional directories relative to
the root of the source tree to build as part of the
@@ -642,11 +674,15 @@ If set, this variable supplies a list of additional directories relative to
the root of the source tree to build as part of the
.Cm cross-tools
target.
+.It Va OBJROOT
+The object directory root is defined as
+.Pa ${OBJDIR}/${SRCDIR}/ .
+See
+.Pa share/mk/src.sys.obj.mk .
.It Va PKG_FORMAT
Specify a package compression format when building
-.Pa src
-into
-.Cm packages .
+.Xr freebsd-base 7
+packages.
Default:
.Ql tzst .
Consider using
@@ -664,9 +700,8 @@ and
.Cm installkernel
process.
This is currently incompatible with building
-.Pa src
-into
-.Cm packages .
+.Xr freebsd-base 7
+packages.
Each port must be specified as
.Ar category Ns Li / Ns Ar port Ns Op Li @ Ns Ar flavor ,
e.g.
@@ -695,6 +730,13 @@ Specify a file to override the default
The src.conf file controls the components to build.
See
.Xr src.conf 5
+.It Va REPODIR
+The root directory used to create the package repository for building
+.Xr packges 7 .
+Defaults to
+.Pa ${OBJROOT}/repo/ .
+This can also be set in
+.Xr src-env.conf 5 .
.It Va STRIPBIN
Command to use at install time when stripping binaries.
Be sure to add any additional tools required to run
@@ -931,26 +973,159 @@ fringe uses that do not have a wide appeal.
.It Pa /usr/doc/share/mk/doc.project.mk
.It Pa /usr/ports/Mk/bsd.port.mk
.It Pa /usr/ports/Mk/bsd.sites.mk
-.It Pa /usr/share/examples/etc/make.conf
.It Pa /usr/src/Makefile
.It Pa /usr/src/Makefile.inc1
+.Xr make 1
+infrastructure for each tree
+.It Pa /usr/ports/UPDATING
+.It Pa /usr/src/UPDATING
+notable changes in each tree
+.It Pa /usr/share/examples/etc/make.conf
+example
+.Xr make.conf 5
+.It Pa /etc/src.conf
+src build configuration, see
+.Xr src.conf 5
.El
.Sh EXAMPLES
-For an
-.Dq approved
-method of updating your system from the latest sources, please see the
-.Sx COMMON ITEMS
-section in
-.Pa src/UPDATING .
+This section describes best practices for common situations.
+When manual intervention is necessary, it will be mentioned in
+.Pa UPDATING .
+Make sure you have full backups before proceeding!
+.Ss Example 1: Build and upgrade system in place
+If using installed drivers such as graphics or virtual machine guest
+drivers, check out the
+.Xr ports 7
+tree, and specify the drivers in
+.Xr src.conf 5
+so they are built and installed automatically after the kernel:
+.Bd -literal -offset indent
+git clone https://git.FreeBSD.org/ports.git /usr/ports
+cat << EOF >> /etc/src.conf
+PORTS_MODULES+=graphics/drm-kmod emulators/virtualbox-ose-kmod
+EOF
+.Ed
+.Pp
+Check out the CURRENT branch, build it, and install,
+overwriting the current system:
+.Bd -literal -offset indent
+git clone https://git.FreeBSD.org/src.git /usr/src
+cd /usr/src
+make buildworld buildkernel
+make installkernel
+shutdown -r now
+.Ed
+.Pp
+For major version upgrades, boot into single-user mode.
+After restarting, install userspace, and merge configurations.
+After verifying that you do not need them, delete old files
+and libraries:
+.Bd -literal -offset indent
+cd /usr/src
+etcupdate -p
+make installworld
+etcupdate -B
+make delete-old delete-old-libs
+shutdown -r now
+.Ed
+.Ss Example 2: Build and upgrade a custom kernel in place
+Create a custom kernel configuration,
+.Va MYKERNEL ,
+by including an existing configuration and using
+.Cm device Ns / Ns Cm nodevice
+and
+.Cm options Ns / Ns Cm nooption
+to select and configure components:
+.Bd -literal -offset indent
+cd /usr/src
+cat << EOF > sys/amd64/conf/MYKERNEL
+include GENERIC
+ident MYKERNEL
+nodevice sound
+EOF
+.Ed
+.Pp
+After creating the new kernel configuration, build a fresh toolchain,
+build the kernel, and install it, moving the old kernel to
+.Pa /boot/kernel.old/ :
+.Bd -literal -offset indent
+make kernel-toolchain
+make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=MYKERNEL
+make -DALWAYS_CHECK_MAKE installkernel KERNCONF=MYKERNEL
+shutdown -r now
+.Ed
+.Pp
+To build the kernel to an alternate location, use the
+.Va INSTKERNNAME
+variable and boot it once to test via
+.Xr nextboot 8 :
+.Bd -literal -offset indent
+make installkernel KERNCONF=MYKERNEL INSTKERNNAME=testkernel
+nextboot -k testkernel
+shutdown -r now
+.Ed
+.Ss Example 3: Build and upgrade a single piece of userspace
+Rebuild and reinstall a single piece of userspace, in this case
+.Xr ls 1 :
+.Bd -literal -offset indent
+cd /usr/src/bin/ls
+make clean all
+make install
+.Ed
+.Ss Example 4: Build and upgrade a loadable kernel module
+Rebuild and reinstall a single loadable kernel module, in this case
+.Xr sound 4 :
+.Bd -literal -offset indent
+cd /usr/src/sys/modules/sound
+make all install clean cleandepend KMODDIR=/boot/kernel
+.Ed
+.Ss Example 5: Quickly rebuild a kernel in place
+Quickly rebuild and reinstall the kernel, only recompiling the files
+changed since last build; note that this will only work if the full
+kernel build has been completed in the past, not on a fresh source tree:
+.Bd -literal -offset indent
+cd /usr/src
+make kernel KERNFAST=1
+.Ed
+.Ss Example 6: Cross-compiling for different architectures
+To rebuild parts of
+.Fx
+for another CPU architecture,
+first prepare your source tree by building the cross-toolchain:
+.Bd -literal -offset indent
+cd src
+make toolchain TARGET_ARCH=aarch64
+.Ed
.Pp
-The following sequence of commands can be used to cross-build the system for
-the arm64 (aarch64) architecture on a different host architecture, such as
-amd64:
+The following sequence of commands can be used to cross-build the system
+for the arm64 (aarch64) architecture on a different host architecture,
+such as amd64:
.Bd -literal -offset indent
cd /usr/src
-make TARGET=arm64 buildworld buildkernel
-make TARGET=arm64 DESTDIR=/clients/arm64 installworld installkernel
+make TARGET_ARCH=aarch64 buildworld buildkernel
+make TARGET_ARCH=aarch64 DESTDIR=/armclient installworld installkernel
.Ed
+.Pp
+Afterwards, to build and install a single piece of userspace, use:
+.Bd -literal -offset indent
+cd src/bin/ls
+make buildenv TARGET_ARCH=aarch64
+make clean all install DESTDIR=/armclient
+.Ed
+.Pp
+Likewise, to quickly rebuild and reinstall the kernel, use:
+.Bd -literal -offset indent
+cd src
+make buildenv TARGET_ARCH=aarch64
+make kernel KERNFAST=1 DESTDIR=/armclient
+.Ed
+.Sh DIAGNOSTICS
+.Bl -diag
+.It Bad system call (core dumped)
+.It rescue/sh check failed, installation aborted
+.Pp
+The kernel was not updated due to incorrect build procedure.
+Study the examples above.
.Sh SEE ALSO
.Xr cc 1 ,
.Xr install 1 ,
@@ -959,13 +1134,14 @@ make TARGET=arm64 DESTDIR=/clients/arm64 installworld installkernel
.Xr src.conf 5 ,
.Xr arch 7 ,
.Xr development 7 ,
+.Xr freebsd-base 7 ,
.Xr pkg 7 ,
.Xr ports 7 ,
.Xr release 7 ,
.Xr tests 7 ,
.Xr config 8 ,
.Xr etcupdate 8 ,
-.Xr reboot 8 ,
+.Xr nextboot 8 ,
.Xr shutdown 8
.Sh HISTORY
The
@@ -974,3 +1150,23 @@ manpage first appeared in
.Fx 4.3 .
.Sh AUTHORS
.An Mike W. Meyer Aq Mt mwm@mired.org
+.Sh CAVEATS
+Old objects can cause obscure build problems; try
+.Ql make cleandir cleandir .
+.Pp
+Environment poisioning can cause obscure build problems; try prefixing
+.Xr make 1
+commands with
+.Ql env -i
+.Pp
+When doing a major release upgrade,
+booting into single user mode for
+.Cm installworld
+is required.
+.Pp
+Updating the boot
+.Xr loader 8
+is architecture specific.
+Consult
+.Xr boot 8
+for your architecture for more details.
diff --git a/share/man/man7/d.7 b/share/man/man7/d.7
index f4686d98b1d1..c098958ffa56 100644
--- a/share/man/man7/d.7
+++ b/share/man/man7/d.7
@@ -3,7 +3,7 @@
.\"
.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
.\"
-.Dd June 14, 2025
+.Dd September 24, 2025
.Dt D 7
.Os
.Sh NAME
@@ -18,12 +18,14 @@
.Sm on
.Sm off
.Oo
+.Oo
.Cm /
.Ar predicate
.Cm /
.Sm on
.Oc
-.Op Cm \&{ Ns Ar action Ns Cm \&}
+.Cm \&{ Ns Ar action Ns Cm \&}
+.Oc
.Sh DESCRIPTION
.Nm D
is the
diff --git a/share/man/man7/development.7 b/share/man/man7/development.7
index 1b875fb14bda..348302a50ee7 100644
--- a/share/man/man7/development.7
+++ b/share/man/man7/development.7
@@ -1,4 +1,4 @@
-.\"-
+.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2018 Edward Tomasz Napierala <trasz@FreeBSD.org>
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd January 19, 2025
+.Dd September 24, 2025
.Dt DEVELOPMENT 7
.Os
.Sh NAME
@@ -75,13 +75,14 @@ There is also a list of public, read-only Git mirrors at:
The
.Ql main
Git branch represents CURRENT;
-all changes are first committed to CURRENT and then usually cherry-picked
-back to STABLE, which refers to Git branches such as
-.Ql stable/13 .
+all changes are first committed to CURRENT and then usually
+cherry-picked back to STABLE, which refers to Git branches such as
+.Ql stable/14 .
Every few years a new STABLE is branched from CURRENT,
with an incremented major version number.
-Releases are then branched off STABLE and numbered with consecutive minor
-numbers.
+Releases are then branched off STABLE and numbered with consecutive
+minor numbers such as
+.Ql releng/14.3
.Pp
The layout of the source tree is described in its
.Pa README.md
@@ -107,12 +108,16 @@ such as freebsd-arch@ and freebsd-hackers@:
To get your patches integrated into the main
.Fx
repository use Phabricator;
-it is a code review tool that allows other developers to review the changes,
-suggest improvements, and, eventually, allows them to pick up the change and
-commit it:
+it is a code review tool that allows other developers to
+review the changes, suggest improvements, and, eventually,
+allows them to pick up the change and commit it:
.Pp
.Lk https://reviews.FreeBSD.org
.Pp
+Or Github:
+.Pp
+.Lk https://github.com/freebsd
+.Pp
To check the latest
.Fx
build and test status of CURRENT and STABLE branches,
@@ -120,77 +125,41 @@ the continuous integration system is at:
.Pp
.Lk https://ci.FreeBSD.org
.Sh FILES
-.Bl -compact -tag -width "/usr/src/tools/tools/git/git-arc.sh"
+.Bl -tag -compact -width "/usr/ports/devel/freebsd-git-devtools"
.It Pa /usr/src/CONTRIBUTING.md
.Fx
contribution guidelines
.It Pa /usr/src/tools/tools/git/git-arc.sh
Phabricator review tooling
+.It Pa /usr/ports/devel/freebsd-git-devtools
+Phabricator review tooling as a port
.El
.Sh EXAMPLES
-Check out the CURRENT branch, build it, and install, overwriting the current
-system:
-.Bd -literal -offset indent
-git clone https://git.FreeBSD.org/src.git src
-cd src
-make -sj8 buildworld buildkernel installkernel
-shutdown -r now
-.Ed
-.Pp
-After reboot:
-.Bd -literal -offset indent
-cd src
-make -j8 installworld
-reboot
-.Ed
-.Pp
-Rebuild and reinstall a single piece of userspace, in this
-case
-.Xr ls 1 :
-.Bd -literal -offset indent
-cd src/bin/ls
-make clean all install
-.Ed
-.Pp
-Rebuild and reinstall a single loadable kernel module, in this case
-.Xr sound 4 :
-.Bd -literal -offset indent
-cd src/sys/modules/sound
-make all install clean cleandepend KMODDIR=/boot/kernel
-.Ed
-.Pp
-Quickly rebuild and reinstall the kernel, only recompiling the files
-changed since last build; note that this will only work if the full kernel
-build has been completed in the past, not on a fresh source tree:
-.Bd -literal -offset indent
-cd src
-make -sj8 kernel KERNFAST=1
-.Ed
-.Pp
-To rebuild parts of
-.Fx
-for another CPU architecture,
-first prepare your source tree by building the cross-toolchain:
-.Bd -literal -offset indent
-cd src
-make -sj8 toolchain TARGET_ARCH=aarch64
-.Ed
-.Pp
-Afterwards, to build and install a single piece of userspace, use:
-.Bd -literal -offset indent
-cd src/bin/ls
-make buildenv TARGET_ARCH=aarch64
-make clean all install DESTDIR=/clients/arm
-.Ed
-.Pp
-Likewise, to quickly rebuild and reinstall the kernel, use:
-.Bd -literal -offset indent
-cd src
-make buildenv TARGET_ARCH=aarch64
-make -sj8 kernel KERNFAST=1 DESTDIR=/clients/arm
-.Ed
+Apply a patch from Github pull #1234, using
+.Pa devel/gh :
+.Pp
+.Dl gh pr checkout 1234
+.Pp
+Apply a patch from Phabricator review D1234, using
+.Xr git-arc 1 :
+.Pp
+.Dl git arc patch -c D1234
+.Pp
+Apply a manually downloaded
+.Xr git-format-patch 1 ,
+.Pa draft.patch ,
+from Bugzilla or mail:
+.Pp
+.Dl git am draft.patch
+.Pp
+Apply a manually downloaded patch,
+.Pa draft.diff ,
+from Bugzilla or mail:
+.Pp
+.Dl git apply draft.diff
.Sh SEE ALSO
.Xr git 1 ,
+.Xr git-arc 1 ,
.Xr witness 4 ,
.Xr build 7 ,
.Xr hier 7 ,
diff --git a/share/man/man7/freebsd-base.7 b/share/man/man7/freebsd-base.7
new file mode 100644
index 000000000000..f84cc7239a1d
--- /dev/null
+++ b/share/man/man7/freebsd-base.7
@@ -0,0 +1,189 @@
+.\" SPDX-License-Identifier: ISC
+.\"
+.\" Copyright (c) 2025 Lexi Winter.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd September 25, 2025
+.Dt FREEBSD-BASE 7
+.Os
+.Sh NAME
+.\" .Nm pkgbase
+.Nm freebsd-base
+.Nd base system packages
+.Sh DESCRIPTION
+The
+.Fx
+base system may be installed as a set of
+.Xr pkg 8
+packages, which supersedes the traditional method of installing using
+.Xr tar 1
+archives.
+.Pp
+All base packages have names beginning with the string
+.Dq "FreeBSD-" ,
+and have an origin beginning with
+.Dq base/ .
+In the default system configuration, the repository containing these
+packages is called
+.Dq FreeBSD-base ,
+but any name may be used.
+The repository name can be used with
+.Xr pkg 8
+to restrict package operations to the base system packages.
+.Pp
+Packages for all supported
+.Fx
+releases as well as active
+.Dq STABLE
+and
+.Dq CURRENT
+.\" re@ will provide their own repository before release, at which
+.\" point this text will need updating.
+branches are hosted on the Internet at
+.Lk https://pkg.freebsd.org .
+These packages are updated when new errata or security updates are
+released (for supported release versions), or twice daily for
+development branches.
+.Pp
+Alternatively, packages may be built from the system source tree
+according to the instructions in
+.Xr build 7 ,
+allowing the system to be updated from source code using packages.
+.Sh PACKAGE ORGANISATION
+To allow customisation of the installed system, each package is split
+into several subpackages which contain different components of the
+package.
+For the package
+.Sy FreeBSD-foo ,
+the following subpackages may be available:
+.Bl -column "FreeBSD-foo-dev-lib32" "Description"
+.It Sy "Package name" Ta Sy "Description"
+.It FreeBSD-foo Ta Base files for the package (typically executables)
+.It FreeBSD-foo-lib Ta Native runtime libraries
+.It FreeBSD-foo-lib32 Ta 32-bit compatibility runtime libraries
+.It FreeBSD-foo-dev Ta Development files (headers and static libraries)
+.It FreeBSD-foo-dev-lib32 Ta 32-bit development files
+.It FreeBSD-foo-dbg Ta Debugging symbols
+.It FreeBSD-foo-man Ta Manual pages.
+Manual pages are only packaged separately if the
+.Sy WITH_MANSPLITPKG
+.Xr src.conf 5
+option was enabled when building the system, which is not the default.
+.El
+.Pp
+The exact set of available subpackages differs for each individual
+package. For example, some packages may not provide any development
+files, in which case the
+.Sy -dev
+subpackage is not present.
+.Sh PACKAGE SETS
+Package sets are meta-packages which do not contain any files
+themselves, but depend on a selection of other packages, such that each
+package set allows the complete set of packages for a supported workload
+to be installed.
+.Pp
+Package sets are provided as packages named
+.Sy FreeBSD-set-<name> .
+The following package sets are available in the base system:
+.Bl -tag -width "minimal-jail"
+.It minimal
+The minimal set of packages required to bring up a multi-user
+.Fx
+system.
+This includes the core system, along with packages required for
+hardware support (such as
+.Xr devmatch 8
+and downloadable firmware), and basic networking, including DHCP and
+IEEE Std 802.11\(tm wireless networks.
+.It minimal-jail
+The equivalent of
+.Sy minimal
+for systems running in a
+.Xr jail 8
+environment.
+This set excludes hardware support not typically required for jails.
+.It devel
+Development tools, including C/C++ compilers, the link loader, and
+other tools such as
+.Xr ar 1
+and
+.Xr nm 1 .
+This set also includes native development files (headers and static
+libraries) for all packages.
+.It lib32
+32-compatibility libraries, for running 32-bit applications on a
+64-bit host system.
+This set includes both runtime libraries and development files.
+.It base
+The complete base system, excluding tests, the system source code,
+and debugging symbols.
+.It base-jail
+The equivalent of
+.Sy base
+for systems running in a
+.Xr jail 8
+environment.
+This set excludes system functionality which typically does not work
+or is not useful in a jail.
+.It src
+The system source tree for the userland and kernel, installed in
+.Pa /usr/src .
+.It tests
+The system test suite, installed in
+.Pa /usr/tests .
+.It kernels
+All available system kernels.
+.El
+.Sh EXAMPLES
+Install the
+.Xr vi 1
+text editor on the running system:
+.Bd -literal -offset indent
+pkg install FreeBSD-vi
+.Ed
+.Pp
+Install a new
+.Xr jail 8
+system using the
+.Sy minimal-jail
+package set:
+.Bd -literal -offset indent
+pkg -r /jails/myjail install FreeBSD-set-minimal-jail
+.Ed
+.Pp
+Install C/C++ compilers on the running system:
+.Bd -literal -offset indent
+pkg install FreeBSD-set-devel
+.Ed
+.Pp
+Apply available updates to the running system:
+.Bd -literal -offset indent
+pkg update -r FreeBSD-base
+.Ed
+.Pp
+Install the development toolchain for FreeBSD/powerpc64le in an
+alternate root (for example, to support cross-compiling software
+for a different target than the host system):
+.Bd -literal -offset indent
+pkg -r /ppcdev -oABI=FreeBSD:16:powerpc64le \e
+ install -r FreeBSD-set-devel
+.Ed
+.Sh SEE ALSO
+.Xr build 7 ,
+.Xr pkg 8 ,
+.Xr src.conf 5
+.Sh HISTORY
+Support for installing the base system as packages was introduced in
+.Fx 15.0 .
+Earlier releases supported a subset of this functionality.
diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7
index 1c69b911f53b..c438511678d4 100644
--- a/share/man/man7/hier.7
+++ b/share/man/man7/hier.7
@@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd October 10, 2024
+.Dd September 25, 2025
.Dt HIER 7
.Os
.Sh NAME
@@ -308,6 +308,21 @@ OpenSSH configuration files; see
.Xr ssh 1
.It Pa ssl/
OpenSSL configuration files
+.Pp
+.Bl -tag -width "untrusted/" -compact
+.It Pa cert.pem
+System trust store in bundle form; see
+.Xr certctl 8 .
+.It Pa certs/
+System trust store in OpenSSL hashed-directory form; see
+.Xr certctl 8 .
+.It Pa openssl.cnf
+OpenSSL configuration file; see
+.Xr openssl.cnf 5 .
+.It Pa untrusted/
+Explicitly distrusted certificates; see
+.Xr certctl 8 .
+.El
.It Pa sysctl.conf
kernel state defaults; see
.Xr sysctl.conf 5
@@ -877,9 +892,6 @@ last login log; see
.It Pa utx.log
login/logout log; see
.Xr getutxent 3
-.It Pa xferlog
-default log for
-.Xr ftpd 8
.El
.Pp
.It Pa mail/
@@ -937,9 +949,6 @@ serial device locks; see
.Xr uucplock 3
.It Pa lpd/
line printer spooler daemon spool
-.It Pa ftp/
-ftp root directory; see
-.Xr ftpd 8
.It Pa mqueue/
undelivered mail queue for
.Xr sendmail 8
diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7
index b681a326f407..75070ce852fe 100644
--- a/share/man/man7/ports.7
+++ b/share/man/man7/ports.7
@@ -25,7 +25,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd March 21, 2025
+.Dd September 10, 2025
.Dt PORTS 7
.Os
.Sh NAME
@@ -683,7 +683,7 @@ WITH_DEBUG_PORTS= mail/dovecot security/krb5
.Pp
It is also possible to use the debug variables on the command line:
.Bd -literal -offset 2n
-.Li # Ic make -DWITH_DEBUG DEBUG_FLAGS="-g -O0" build
+.Li # Ic make WITH_DEBUG DEBUG_FLAGS="-g -O0" build
.Ed
.Pp
See the
diff --git a/share/man/man7/release.7 b/share/man/man7/release.7
index 36c14afe0bf1..05f80374926f 100644
--- a/share/man/man7/release.7
+++ b/share/man/man7/release.7
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd May 20, 2025
+.Dd September 11, 2025
.Dt RELEASE 7
.Os
.Sh NAME
@@ -286,6 +286,19 @@ is expected to exist by alternative means.
Include base system packages for use with
.Xr pkg 8
on the install media, instead of legacy tarball distribution sets.
+.It Va PKG_CMD
+A path to the
+.Xr pkg 8
+executable to use when installing packages in release images as a non-root user.
+.It Va PKG_REPOS_DIR
+An optional path to a directory containing
+.Xr pkg 8
+repository configuration files.
+These configuration files will be used when installing packages in release
+images as a non-root user.
+.It Va PKG_REPO_NAME
+The name of the repository configuration to use when installing packages in
+release images as a non-root user.
.El
.Sh EMBEDDED BUILDS
The following
diff --git a/share/man/man7/security.7 b/share/man/man7/security.7
index cdb4d066d3e6..f1035fd093d5 100644
--- a/share/man/man7/security.7
+++ b/share/man/man7/security.7
@@ -364,7 +364,6 @@ There are a number of other servers that typically do not run in sandboxes:
.Xr sendmail 8 ,
.Xr popper 8 ,
.Xr imapd 8 ,
-.Xr ftpd 8 ,
and others.
There are alternatives to
some of these, but installing them may require more work than you are willing
diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7
index 2c3ed3de411e..d5092348d9b3 100644
--- a/share/man/man7/simd.7
+++ b/share/man/man7/simd.7
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE
.
-.Dd July 29, 2025
+.Dd November 18, 2024
.Dt SIMD 7
.Os
.Sh NAME
@@ -50,43 +50,48 @@ can be used to override this mechanism.
.Pp
Enhanced functions are present for the following architectures:
.Bl -column FUNCTION_________ aarch64_ arm_ amd64_ i386_ ppc64_ -offset indent
-.It Em FUNCTION Ta Em AARCH64 Ta Em ARM Ta Em AMD64 Ta Em PPC64
-.It bcmp Ta A Ta Ta S1
-.It bcopy Ta A Ta S Ta S Ta SV
-.It bzero Ta A Ta S Ta S
-.It div Ta Ta Ta S
+.It Em FUNCTION Ta Em AARCH64 Ta Em ARM Ta Em AMD64 Ta Em I386 Ta Em PPC64
+.It bcmp Ta A Ta Ta S1 Ta S
+.It bcopy Ta A Ta S Ta S Ta S Ta SV
+.It bzero Ta A Ta S Ta S Ta S
+.It div Ta Ta Ta S Ta S
.It index Ta A Ta Ta S1
-.It ldiv Ta Ta Ta S
+.It ldiv Ta Ta Ta S Ta S
.It lldiv Ta Ta Ta S
.It memchr Ta A Ta Ta S1
-.It memcmp Ta A Ta S Ta S1
+.It memcmp Ta A Ta S Ta S1 Ta S
.It memccpy Ta A Ta Ta S1
-.It memcpy Ta A Ta S Ta S Ta SV
-.It memmove Ta A Ta S Ta S Ta SV
+.It memcpy Ta A Ta S Ta S Ta S Ta SV
+.It memmove Ta A Ta S Ta S Ta S Ta SV
.It memrchr Ta A Ta Ta S1
-.It memset Ta A Ta S Ta S
-.It rindex Ta A Ta Ta S1
+.It memset Ta A Ta S Ta S Ta S
+.It rindex Ta A Ta Ta S1 Ta S
.It stpcpy Ta A Ta Ta S1
.It stpncpy Ta Ta Ta S1
-.It strcat Ta A Ta Ta S1
-.It strchr Ta A Ta Ta S1
+.It strcat Ta A Ta Ta S1 Ta S
+.It strchr Ta A Ta Ta S1 Ta S
.It strchrnul Ta A Ta Ta S1
-.It strcmp Ta A Ta S Ta S1
-.It strcpy Ta A Ta Ta S1 Ta S2
+.It strcmp Ta A Ta S Ta S1 Ta S
+.It strcpy Ta A Ta Ta S1 Ta S Ta S2
.It strcspn Ta S Ta Ta S2
.It strlcat Ta A Ta Ta S1
.It strlcpy Ta A Ta Ta S1
.It strlen Ta A Ta S Ta S1
.It strncat Ta A Ta Ta S1
-.It strncmp Ta A Ta S Ta S1
-.It strncpy Ta Ta Ta S1 Ta S2
+.It strncmp Ta A Ta S Ta S1 Ta S
+.It strncpy Ta Ta Ta S1 Ta Ta S2
.It strnlen Ta A Ta Ta S1
-.It strrchr Ta A Ta Ta S1
+.It strrchr Ta A Ta Ta S1 Ta S
.It strpbrk Ta S Ta Ta S2
.It strsep Ta S Ta Ta S2
.It strspn Ta S Ta Ta S2
+.It swab Ta Ta Ta Ta S
.It timingsafe_bcmp Ta A Ta Ta S1
.It timingsafe_memcmp Ta S Ta Ta S
+.It wcschr Ta Ta Ta Ta S
+.It wcscmp Ta Ta Ta Ta S
+.It wcslen Ta Ta Ta Ta S
+.It wmemchr Ta Ta Ta Ta S
.El
.Pp
.Sy S Ns :\ scalar (non-SIMD),