David Wolfskill david at
Mon May 9 18:45:47 UTC 2016

On Mon, May 09, 2016 at 11:05:55AM -0700, John Baldwin wrote:
> On Saturday, May 07, 2016 06:50:05 AM David Wolfskill wrote:
> > [Recipient list trimmed a bit -- dhw]
> ... 
> > > 2 kernels get installed? Even if the old behaviour was to only install 1
> > > kernel, if you are listing 2 kernels in KERNCONF presumably that is because
> > > you want to install 2 kernels?
> > 
> > Errr... no: I don't.  At least, not on the machine where I built them.
> Then don't pass them to 'installkernel'?  That is, I think this makes sense
> if you want to build N kernels but only install 1:
> make buildkernel KERNCONF="FOO BAR BAZ"
> # only install the FOO kernel
> make installkernel KERNCONF="FOO"
> And then if you want to install multiple:
> # install both FOO and BAR kernels
> make installkernel KERNCONF="FOO BAR"

I suppose there's probably some way to arrange things so the KERNCONF
specification in /etc/src.conf has one value during "buildkernel" and a
different value during "inistallkernel" -- but ... seriously...??!?

Wouldn't it be cleaner to have different variables (e.g., that could
each default to the KERNCONF specification, but could be overridden in
a simple text file that doesn't require delving into make(1) arcana to
craft or understand)?

Why make things harder for folks who are trying to use the system?

> The runaround seems to be whether this last case now should require multiple
> explicit installkernel invocations which I find inconsistent since the build
> stage doesn't.  I would fully expect 'installkernel' to install all of the
> kernels listed in KERNCONF and would assume that it is up to the invoker to
> choose KERNCONF appropriately.
> ....

Multiple installkernel invocations is certainly not something I would
advocate -- I do silly things sometimes, but I hope nothing I wrote was
interpreted thus. :-}

Suppose that src/Makefile.inc1 were modified so that:
* KERNCONF_BUILD is set to the value (explicit or otherwise) of KERNCONF
  unless it already has a value (in which case, the explicit value is
* KERNCONF_INSTALL is set to the value (explicit or otherwise) of KERNCONF
  unless it already has a value (in which case, the explicit value is

buildkernel then builds the kernel configs listed in KERNCONF_BUILD;
installkernel then installs the kernels listed in KERNCONF_INSTALL.

Folks who want to build & install the same set of kernels see no change.

Folks who want a difference between "buildkernel" and "installkernel" have
a simple way to specify it.

Only 1 invocation of installkernel is needed in any case.

Would that work?  It seems as if that would work for my case.

David H. Wolfskill				david at
Those who would murder in the name of God or prophet are blasphemous cowards.

See for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: not available
URL: <>

More information about the freebsd-current mailing list