Update the note about the need for COMPAT_FREEBSD<n> kernel options.

Rather than mentioning the requirement for 4.x binaries but not
explaining why (it was assuming an upgrade from 4.x to 5.0-current),
explain when compat options are needed (for running existing host
binaries) in a more general way while using a more modern example
(COMPAT_FREEBSD11 for 11.x binaries).  While here, explicitly mention
that a GENERIC kernel should always work.

Reported by:	Robert Huff <roberthuff@rcn.com>
Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D18740
This commit is contained in:
John Baldwin 2019-01-15 18:20:20 +00:00
parent 500759395a
commit 7f124c950a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=343048

View File

@ -1901,12 +1901,13 @@ COMMON ITEMS:
can be deleted by "make delete-old-libs", but you have to make can be deleted by "make delete-old-libs", but you have to make
sure that no program is using those libraries anymore. sure that no program is using those libraries anymore.
[8] In order to have a kernel that can run the 4.x binaries needed to [8] The new kernel must be able to run existing binaries used by
do an installworld, you must include the COMPAT_FREEBSD4 option in an installworld. When upgrading across major versions, the new
your kernel. Failure to do so may leave you with a system that is kernel's configuration must include the correct COMPAT_FREEBSD<n>
hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is option for existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x
required to run the 5.x binaries on more recent kernels. And so on binaries). Failure to do so may leave you with a system that is
for COMPAT_FREEBSD6 and COMPAT_FREEBSD7. hard to boot to recover. A GENERIC kernel will include suitable
compatibility options to run binaries from older branches.
Make sure that you merge any new devices from GENERIC since the Make sure that you merge any new devices from GENERIC since the
last time you updated your kernel config file. last time you updated your kernel config file.