cvs commit: src/sys/dev/ata ata-queue.c

Warner Losh imp at
Wed May 18 15:07:58 PDT 2005

> Where the traditional method is immensely useful is in customizing your 
> kernel immediately after doing a fresh install from CD/ftp/floppy.  You
> want a slimmer kernel right away without having to suffer through doing
> a buildworld.

There's no need to 'suffer through' a buildworld.  If there are no
tools in the binary tree, the tools installed on the system are used
instead.  I appreciate that you are trying to make things easier for
people, but since buildkernel works without a built world means we
should be recommending it always.

There is one requirement, however, and that is that MAKEOBJDIRPREFIX
has to exist.  It doesn't have to have anything in it, but it must
exist.  If it is there, and no binaries are found, it falls back to
using binaries from the system.

> This is even more true on 6-CURRENT snapshots where 
> INVARIANTS and WITNESS are enabled and really slow things down.  There 
> is simply no need to do a buildworld, since your sources are completely
> in sync with the system.

And it works without it, and has for quite some time now.  Somewhere
around 4.4 is when this changed.  Prior to that, yes, you did have to
buildworld first.  However, it was for situations just like this that
it was changed:

Revision 1.184 Mon Jan 22 08:07:58 2001 UTC (4 years, 3 months ago) by imp
As threatened in hackers@ on Friday, obviate the need for a buildworld
to preceed a buildkernel.

> I appreciate the effort that has happened over
> the years to make the whole upgrade process smoother, but we can't
> define 'work' too narrowly or else it becomes just as cumbersome as the
> problems that we are trying to fix.

I think this comment is misplaced.  Please check your facts before
taking me to task in the future.  buildkernel takes exactly the same
amount of time in a fresh install as does the classic method, even
when no buildworld has been done, and its definition of 'works' is
sufficiently wide.


More information about the cvs-all mailing list