diff --git a/documentation/content/en/books/handbook/cutting-edge/_index.adoc b/documentation/content/en/books/handbook/cutting-edge/_index.adoc --- a/documentation/content/en/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/en/books/handbook/cutting-edge/_index.adoc @@ -245,11 +245,35 @@ This is particularly helpful when maintaining multiple systems, as it allows for a quick assessment of the updates installed in each one. [[freebsdupdate-upgrade]] -=== Performing Major and Minor Version Upgrades +=== Performing Minor and Major Version Upgrades -Upgrades from one minor version of FreeBSD to another, like from FreeBSD 9.0 to FreeBSD 9.1, are called _minor version_ upgrades. -_Major version_ upgrades occur when FreeBSD is upgraded from one major version to another, like from FreeBSD 9.X to FreeBSD 10.X. -Both types of upgrades can be performed by providing `freebsd-update` with a release version target. +Upgrades from one minor version of FreeBSD to another are called _minor version_ upgrades. An example: + +- FreeBSD 13.1 to 13.2. + +_Major version_ upgrades increase the major version number. An example: + +- FreeBSD 12.4 to 13.2. + +Both types of upgrade can be performed by providing `freebsd-update` with a release version target. + +[WARNING] +==== +After each new `RELEASE`, FreeBSD package build servers will, for a limited period, *not* use the newest version of the operating system. +This provides continuity for the many users who do not upgrade immediately after a release announcement. +For example: + +* packages for users of 13.1 and 13.2 will be built on a server running 13.1, until 13.1 reaches end of life + +-- and, critically: + +* a kernel module that is built on 13.1 might *not* be suitable for 13.2. + +So, with any minor or major OS upgrade, if your package requirements include any kernel module: + +* *be prepared to build the module from source*. + +==== [NOTE] ==== @@ -257,11 +281,11 @@ Refer to <> for instructions on how to get a copy of the [.filename]#GENERIC# kernel. ==== -The following command, when run on a FreeBSD 13.0 system, will upgrade it to FreeBSD 13.1: +The following command, when run on a FreeBSD 13.1 system, will upgrade it to FreeBSD 13.2: [source,shell] .... -# freebsd-update -r 13.1-RELEASE upgrade +# freebsd-update -r 13.2-RELEASE upgrade .... After the command has been received, `freebsd-update` will evaluate the configuration file and current system in an attempt to gather the information necessary to perform the upgrade. @@ -271,7 +295,7 @@ [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. -Fetching metadata signature for 13.0-RELEASE from update1.FreeBSD.org... done. +Fetching metadata signature for 13.1-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. @@ -296,7 +320,7 @@ [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a -kernel configuration distributed as part of FreeBSD 13.0-RELEASE. +kernel configuration distributed as part of FreeBSD 13.2-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... @@ -606,7 +630,7 @@ . To install a new FreeBSD-STABLE system, install the most recent FreeBSD-STABLE release from the crossref:mirrors[mirrors,FreeBSD mirror sites] or use a monthly snapshot built from FreeBSD-STABLE. Refer to link:https://www.FreeBSD.org/snapshots/[www.freebsd.org/snapshots] for more information about snapshots. + To compile or upgrade an existing FreeBSD system to FreeBSD-STABLE, use `git` to check out the source for the desired branch. -Branch names, such as `stable/9`, are listed at link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng]. +Branch names, such as `stable/13`, are listed at link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng]. . Before compiling or upgrading to FreeBSD-STABLE , read [.filename]#/usr/src/Makefile# carefully and follow the instructions in <>. Read the {freebsd-stable} and [.filename]#/usr/src/UPDATING# to keep up-to-date on other bootstrapping procedures that sometimes become necessary on the road to the next release. [[translate-n-number]]