Re: kernel config question

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 4 Jan 2019 08:59:11 -0800
On 1/3/19 10:40 PM, Kevin Oberman wrote:
> On Wed, Jan 2, 2019 at 5:02 PM Robert Huff <roberthuff_at_rcn.com> wrote:
> 
>>
>> John Baldwin writes:
>>
>>>  -    [8] In order to have a kernel that can run the 4.x binaries needed
>> to
>>>  -    do an installworld, you must include the COMPAT_FREEBSD4 option in
>>>  -    your kernel.  Failure to do so may leave you with a system that is
>>>  -    hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is
>>>  -    required to run the 5.x binaries on more recent kernels.  And so on
>>>  -    for COMPAT_FREEBSD6 and COMPAT_FREEBSD7.
>>>  +    [8] The new kernel must be able to run existing binaries used by
>>>  +    an installworld.  When upgrading across major versions, the new
>>>  +    kernel's configuration must include the correct COMPAT_FREEBSD<n>
>>>  +    option for existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x
>>>  +    binaries).  Failure to do so may leave you with a system that is
>>>  +    hard to boot to recover.  A GENERIC kernel will include suitable
>>>  +    compatibility options to run binaries from older branches.
>>
>>         Maybe not perfect, but _much_ better.
>>         Thanks.
>>
>>
>>                         Respectfully,
>>
>>
>>                                 Robert Huff
>>
> Some ports may require compat ports. E.g. plexmediaserver requires
> compat9x. Oddly, compat9x requires compat10x, so I need 9, 10, and 11.
> 
> Now that 10 is EOL, I wish Plex would start building their blobs against 11.

While that is true, that isn't quite relevant to this note which is specific
to the buildworld + installworld upgrade process.

In general COMPAT_FREEBSD<n> and the compat<N>x packages require all the
newer compat options and packages when you are more than 1 branch away
from the running system.  That is, to run 9.x binaries on a 12.0 kernel you
need COMPAT_FREEBSD9, COMPAT_FREEBSD10, and COMPAT_FREEBSD11.  The same can
be true of compat packages except that you only need to step up to whatever
the verison of your userland binaries are.  If you had a 9.x jail on a
12.0 host you wouldn't need any compat packages, just the kernel options.
For a 10.x jail on a 12.0 host you would only need compat9x, etc.

-- 
John Baldwin

                                                                            
Received on Fri Jan 04 2019 - 15:59:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC