Re: Building multiple kernels with "make release"

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Thu, 29 Jul 2021 18:43:18 UTC
On Thu, 29 Jul 2021 00:13:54 +0000
Glen Barber <gjb@freebsd.org> wrote:

> On Wed, Jul 28, 2021 at 06:00:28PM -0600, Alan Somers wrote:
> > On Wed, Jul 28, 2021 at 5:52 PM Miroslav Lachman <000.fbsd@quip.cz> wrote:
> > 
> > > On 28/07/2021 20:46, Juraj Lutter wrote:
> > > >
> > > >
> > > >> On 28 Jul 2021, at 20:37, Glen Barber <gjb@freebsd.org> wrote:
> > > >>
> > > >> On Wed, Jul 28, 2021 at 12:05:25PM -0600, Alan Somers wrote:
> > > >>> On Wed, Jul 28, 2021 at 11:57 AM Glen Barber <gjb@freebsd.org> wrote:
> > > >>>> Just on a hunch, could you try with adding INSTALLKERNEL="${KERNEL}"
> > > to
> > > >>>> your release.conf?
> > > >>>>
> > > >>>> I now seem to recall some weirdness with this, but the exact details
> > > >>>> elude me at the moment.
> > > >>>>
> > > >>>
> > > >>> Setting INSTALLKERNEL="GENERIC-NODEBUG"  during "make installkernel"
> > > >>> overrides whatever KERNCONF was set to.  But it still only installs one
> > > >>> kernel.  Trying to set that variable to a list doesn't work.
> > > >>
> > > >> Ok.  Give me a day or so to try to figure out what is (or isn't)
> > > >> happening here.  I do not recall any recent-ish changes that would have
> > > >> caused this, and I am 95% certain it has worked in the past.
> > > >
> > > > According to Makefile.inc1:
> > > >
> > > > make installkernel KERNCONF=?KERN1 KERN2?
> > > >
> > > > should install KERN1 and KERN2. Similar goes for buildkernel.
> > > >
> > > > Or is there something I am missing?
> > >
> > > Does 'make installkernel KERNCONF=?KERN1 KERN2?' really install both
> > > kernels? Under which names?
> > > I have 3 kernels defined in KERNCONF in /etc/make.conf for years. 3
> > > kernels are built by "make buildkernel" but only one installed by "make
> > > installkernel".
> > >
> > > To install other kernels I use:
> > >
> > > make installkernel KERNCONF=KERN2 KODIR=/boot/kernel.KERN2
> > >
> > > make installkernel KERNCONF=KERN3 KODIR=/boot/kernel.KERN3
> > >
> > 
> > Miroslav is right.  Despite the comment that Juraj found, "make
> > installkernel" only installs the first kernel listed in KERNCONF.
> 
> Good find.  I honestly thought this worked as expected versus as
> written.  In fact, I *thought* secondary, tertiary, etc. kernels were
> installed as /boot/kernel.KERN2, /boot/kernel.KERN3 (using the example
> above).

 You need to set NO_INSTALLEXTRAKERNELS=no for that to happens (yes the
variable name and double no sucks if anyone have a patch for that that
would be awesome).

> Although, I may be misremembering, and 'kernel.KERN2.txz' may be created
> instead, although not installed/extracted.  Though, we are going back at
> least seven years, and I do not even remember what I had eaten for
> dinner last night, so there's that...
> 
> Glen
> 


-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@FreeBSD.org>