Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Feb 2003 14:49:16 +0200
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Scott Mitchell <scott.mitchell@mail.com>
Cc:        Darren Pilgrim <dmp@pantherdragon.org>, questions@freebsd.org
Subject:   Re: Why should I use `config;make depend;make...` instead of `make kernel` when building from a stock source tree? (ref. Handbook sec. 9.3)
Message-ID:  <20030202124916.GB749@gothmog.gr>
In-Reply-To: <20030202103120.GC22208@fishballoon.dyndns.org>
References:  <3E3C77F0.6050805@pantherdragon.org> <44vg03la16.fsf@be-well.ilk.org> <3E3CBF66.5070609@pantherdragon.org> <20030202103120.GC22208@fishballoon.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Scott, pardon my replying to your post to write to Darren.  I missed
Darren's initial post and I wanted to chime in adding my bits to your
excellent explanation.

On 2003-02-02 10:31, Scott Mitchell <scott.mitchell@mail.com> wrote:
> On Sat, Feb 01, 2003 at 10:49:10PM -0800, Darren Pilgrim wrote:
> > Hey you're right.  In the bulleted list just before the two
> > procedures are listed it says, "#If you are building a new kernel
> > without updating the source code...you can use either procedure."
> > After the two procedures are listed, it says, "If you have not
> > upgraded your source tree in any way...you should use the config,
> > make depend, make, make install sequence." That sounds
> > contradictory to me.  What do you think?

That's not exactly what the text says though.  The text of the second
paragraph where config(8) is referenced is:

    If you are upgrading to a version of FreeBSD below 4.0 you should
    use the old kernel build procedure. However, it is recommended
    that you use the new version of config(8), using a command line
    like this.

	# /usr/obj/usr/src/usr.sbin/config/config KERNELNAME

This is true.  Older FreeBSD versions, before FreeBSD 4.0-RELEASE, did
not support the same make targets (buildworld, buildkernel) in the
same manner.  The writer of this part makes an attempt at supporting
those with older releases too.  If you have the sources of a newer
FreeBSD version, then this paragraph doesn't apply to you.

Does this clarification make it any clearer?  Do you still think that
the Handbook needs fixing?  If yes, then I'm open to suggestions :-)

> I may not be 100% right on this, but I believe the main difference
> is that 'make buildkernel' will build the kernel using the toolchain
> left in /usr/obj by a previous 'make buildworld', whereas the
> 'config' method uses the toolchain currently installed on your
> machine.  That's why you should use buildkernel after a cvsup, to
> make sure your kernel is built against the same stuff your about to
> install with 'make installworld'.  If you're just building a new
> kernel from the same sources, I guess either method would work,
> although you'd need to have the /usr/obj from your last buildworld
> still hanging around, so using config might be more convenient.

I couldn't possibly put it in better words, even if I tried.

> Maybe that part of the handbook could stand a little clarification?

Reading it again now, I don't think it's wrong.  But perhaps my lack
of sleep today makes things a bit difficult for me.

- Giorgos


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030202124916.GB749>