Re: Building multiple kernels with "make release"

From: Alan Somers <asomers_at_freebsd.org>
Date: Fri, 20 Aug 2021 20:10:23 UTC
On Thu, Jul 29, 2021 at 12:43 PM Emmanuel Vadot <manu@bidouilliste.com>
wrote:

> 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>
>

 NO_INSTALLEXTRAKERNELS=no works for "make installkernel".  However, it
still doesn't work with release.sh.  It seems there is work left to do.
-Alan