which bits to build, and to allow "make -j N" actually do something in
parallel:
- build_kernels: for each of ${ALL_KERNELS}, create kern-${NAME} target
which configures & builds the kernel ${NAME}.
- build_kernsets: for each of ${KERNEL_SETS}, create kernset-${NAME} target
to create ${RELEASEDIR}/binary/sets/kern-${NAME}.tgz
- build_releasekernels: for each of ${KERNEL_SETS} ${EXTRA_KERNELS}, create
${RELEASEDIR}/binary/kernel/netbsd-${NAME}.gz (et al)
(The latter two .WAIT until build_kernels has completed)
instead of calling time(3).
This makes rate calculations of crash dumps sensible; in contrast,
subtracting the boot time of the crash dump from the current time of the
running system produces a not-very-meaningful number.
party software packages to the kernel. The statment:
package "../path/to/some/directory/files.package"
is equivalent to the sequence:
prefix "../path/to/some/directory"
include "files.package"
prefix
is already used, we want to remap to another place. The vmcmd must be
completely rebuild, else things does not work as expected, as the vmcmd has
been modified by the first mapping attempt.
* When building a kernel with the -k option, make obj in $TOP/etc to
ensure that the correct KERNOBJDIR is created and used. Previously,
KERNOBJDIR could sometimes be an objdir outside the source tree
and sometimes $TOP/sys/arch/$ARCH/compile inside the source tree,
depending on whether or not a complete build had beed done before
the kernel build.
* Renamed KERNCONFNAME to kernconfname, for consistency with what
seems to be a convention that variables local to build.sh (as
opposed to make or environment variables) have lowercase names.
* Renamed the do_buildonlytools and do_buildonlykernel variables to
do_buildtools and do_buildkernel, because the word "only" is no
longer appropriate now that more than one of them can be active
simultaneously.
* Changed a few '|| exit 1' tests to '|| bomb "message"', and added a
few more similar tests.
* Changed all 'echo "===> ..."' to use $runcmd, and added a few more
similar echos. Previously, some used $runcmd and some did not.
backed by physical pages (ie. because it reused a previously-freed one),
so that we can skip a bunch of useless work in that case.
this fixes the underlying problem behind PR 18543, and also speeds up fork()
quite a bit (eg. 7% on my pc, 1% on my ultra2) when we get a cache hit.