make buildkernel fails without complete source tree

Tom Rhodes trhodes at FreeBSD.org
Mon Jan 22 18:24:37 UTC 2007


On Mon, 22 Jan 2007 13:17:12 -0500
Ken Smith <kensmith at cse.Buffalo.EDU> wrote:

> On Mon, 2007-01-22 at 11:11 -0500, John Baldwin wrote:
> > On Sunday 21 January 2007 16:24, Ruslan Ermilov wrote:
> > > On Thu, Jan 18, 2007 at 01:48:14PM -0800, Murray Stokely wrote:
> > > > On 1/18/07, John Baldwin <jhb at freebsd.org> wrote:
> > > > ===================================================================
> > > > >-      { " sys",                "/usr/src/sys (FreeBSD kernel)",
> > > > >+      { " sys",                "/usr/src/sys (FreeBSD kernel; requires 
> > > > >'base'
> > > > >to build)",
> > > > 
> > > > I think this is a good solution.
> > > > 
> > > I don't think this is a good idea as it's not actually required.
> > > The sys/ part have traditionally been standalone.  And if you're
> > > not upgrading then "buildkernel" is just a convenience alias for
> > > config/make method.  Actually this method is always used except
> > > that in the buildkernel case it will use an upgraded toolchain
> > > if it was previously built by "buildworld".
> > 
> > It is required for buildkernel as otherwise there's no Makefile in /usr/src 
> > with a buildkernel target.  It's only not required if you do 'config, etc.' 
> > by hand, but 'make buildkernel' requires some sort of /usr/src/Makefile, 
> > obviously. :)
> 
> I think that's what Ruslan meant by it having "traditionally been
> standalone".  By tradition someone who just extracted the sys stuff
> wasn't expecting to do 'make buildkernel', they expected to do the
> 'config, etc'.  For example someone who wanted to build custom kernels
> but had no intention of updating the machine using the source tree, and
> they knew how to build the kernels manually.
> 
> The truth is the message should read "(FreeBSD kernel; requires 'base'
> to build if you insist on using 'make buildkernel' in /usr/src to build
> a kernel but if you know how to build a kernel 'manually' then 'base' is
> not required)".  But I don't think that fits in 80 columns... :-)
> 
> The message as proposed above also begs the question "So why have sys as
> a separate thing if all you can do is look at it?.  That's not true but
> it is what the message suggests.


FreeBSD kernel; traditional build mechanism
base; base sources including glue for buildkernel

I'm not sure how the latter one is listed.

-- 
Tom Rhodes



More information about the freebsd-doc mailing list