Re: Building multiple kernels with "make release"

From: Alan Somers <asomers_at_freebsd.org>
Date: Wed, 28 Jul 2021 18:05:25 UTC
On Wed, Jul 28, 2021 at 11:57 AM Glen Barber <gjb@freebsd.org> wrote:

> On Wed, Jul 28, 2021 at 05:32:03PM +0000, Glen Barber wrote:
> > On Wed, Jul 28, 2021 at 11:30:44AM -0600, Alan Somers wrote:
> > > On Wed, Jul 28, 2021 at 11:28 AM Glen Barber <gjb@freebsd.org> wrote:
> > >
> > > > On Wed, Jul 28, 2021 at 05:26:50PM +0000, Glen Barber wrote:
> > > > > On Wed, Jul 28, 2021 at 11:11:48AM -0600, Alan Somers wrote:
> > > > > > Is it possible to build multiple different kernels and include
> them
> > > > all in
> > > > > > a release image?  release.conf says so.  But from experiment,
> what I
> > > > see is
> > > > > > that:
> > > > > >
> > > > > > * release.sh does pass both kernels in the KERNCONF variable to
> "make
> > > > > > buildkernel"
> > > > > > * "make buildkernel" dutifully builds both
> > > > > > * BUT, "make installkernel" only installs the first kernel and
> ignores
> > > > the
> > > > > > rest
> > > > > > * Only the first kernel ends up in the final image
> > > > > > * It's not really clear where an alternate kernel should go,
> anyway.
> > > > > > Probably someplace like /boot/kernel.debug , but release.conf
> doesn't
> > > > > > provide a way to specify that.
> > > > > >
> > > > > > So is the "multiple kernels in release.conf" feature
> unfinished?  If
> > > > so,
> > > > > > does anybody have a good idea about the best way to finish it?
> > > > > >
> > > > > >
> > > >
> https://github.com/freebsd/freebsd-src/blob/7045b1603bdf054145dd958a4acc17b410fb62a0/release/release.conf.sample#L32
> > > > > >
> > > > >
> > > > > Last I was aware, based on a patch sent to me privately, I
> believe, it
> > > > > should work.
> > > > >
> > > > > Let me take a look.
> > > > >
> > > >
> > > > Oh, wait.  Are you using 'make release' or release/release.sh?
> > > >
> > >
> > > I'm using release.sh.  I thought that was just a wrapper for "make
> > > release".
> >
> > It is, I just want to make sure I'm looking in the right place(s).
> >
>
> 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.
>
> Glen
>

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