Subject: Re: supported kernel builds
To: None <dokas@cs.umn.edu>
From: George Michaelson <ggm@apnic.net>
List: current-users
Date: 02/17/2003 14:30:39
The point of the build.sh method is that the *tools* used to make the kernel
are themselves re-freshed from the current state of the source tree. If you
run with current userspace tools, you risk missing changes to the toolchain
which have relevance in the kernel. eg, imagine the .o format has some
non-compatible change and kernel LD fails because you don't account for it.

In effect, a 'manual' method is to do

cd /usr/src
./build.sh tools
cd /sys/arch/<ARCH>/conf
/usr/src/tools/obj/tools.NetBSD-<VER>-<ARCH>/bin/nbconfig <FILE>
cd ../compile/<FILE>
/usr/src/tools/obj/tools.NetBSD-<VER>-<ARCH>/bin/nbmake-<ARCH> depend
/usr/src/tools/obj/tools.NetBSD-<VER>-<ARCH>/bin/nbmake-<ARCH>
/usr/src/tools/obj/tools.NetBSD-<VER>-<ARCH>/bin/nbmake-<ARCH> install

This is only marginally more complicated than you scripted as your normal
behaviour. And it has the advantage that it uses a known good set of tools
from the source hierarchy.

If you don't have /usr/src, then clearly the plain old make method is all
you can do.

cheers
	-George