Subject: Re: build.sh installkernel?
To: Luke Mewburn <lukem@NetBSD.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: current-users
Date: 02/25/2004 18:49:09
  On Wed, Feb 25, 2004 at 01:24:53PM -0500, Greg Troxel wrote:

    | But there does not seem to be a
    |   ./build.sh installkernel=/
    |
    | Am I missing some easy and clean way to do this?  Is this a bad idea?

  It strikes me as a bit "dangerous"; (maybe I can be convinced otherwise.)

How is it any more dangerous than install=/ for userland?  Arguably,
installing a new kernel to / should be a prerequisite for installing a
new userland.  And putting a kernel into a non-root DESTDIR doesn't
seem scary to me at all.

  You could run "releasekernel=FOOBAR", and just gunzip the result into
  your DESTDIR.

Sure, but then I have to know where the release is, etc[1], and I'm
looking for a uniform method.  So I was thinking that this was a
missing build.sh feature.

I guess DESTDIR is populated primarily for the purpose of building a
release, but I also view it as a complete system tree.  The kernel
doesn't fit the normal scheme of things, of course, which makes this
awkward.

It can be argued that doing something automatically is less error
prone than having someone typing.  I routinely do builds on 1.6 that
build a kernel (from a hostname-kernel mapping file) and install it
(to /) and then build/install userland, and then auto-munge /etc.  If
one of these runs to completion, which it almost always does, I just
reboot and have been doing quite well so far.

    Greg

[1] This is a pain currently since I am using OBJMACHINE, which
doesn't work with -O, but I should use a non-default
DESTDIR/RELEASEDIR to put them someplace convenient rather than under
obj.i386 in src.