Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jul 2000 18:29:03 +0930
From:      Greg Lehey <grog@lemis.com>
To:        "Daniel C. Sobral" <dcs@newsguy.com>
Cc:        Vivek Khera <khera@kciLink.com>, Kris Kennaway <kris@FreeBSD.ORG>, stable@FreeBSD.ORG
Subject:   Re: HEADS UP! Always use the 'make buildkernel' target to make yer kernels
Message-ID:  <20000711182903.K23115@wantadilla.lemis.com>
In-Reply-To: <396ADB61.5736BF19@newsguy.com>
References:  <Pine.BSF.4.21.0007092043510.33246-100000@freefall.freebsd.org> <14697.55301.614418.390096@onceler.kcilink.com> <20000711103710.B21954@wantadilla.lemis.com> <396ADB61.5736BF19@newsguy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[Format recovered--see http://www.lemis.com/email/email-format.html]

On Tuesday, 11 July 2000 at 17:31:29 +0900, Daniel C. Sobral wrote:
> Greg Lehey wrote:
>>
>> Agreed.  I tried it out and found a number of things I didn't like
>> about it.  Basically, it's a completely different build process:
>>
>> 1.  Before building, it removes the existing kernel build tree.
>>     There's no good reason for this.
>
> make buildkernel -DNOCLEAN

No, that makes clean the default, and that's wrong.

> See also:
>
> #       -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel
> #       -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel

That's broken too.  The whole idea of make is that you don't need to
do a make clean under normal circumstances.  But we're used to that
when building a world.

>> 2.  It builds in a different tree (/usr/obj instead of
>>     /usr/src/sys/compile).
>
> Is this a problem by itself? Having a RO /usr/src is good. :-)

Yes.  We could agree to change the tree to /usr/obj, but it should be
consistent whichever way you do it.  In the process we should also use
obj symlinks like other BSDs use:

=== grog@wantadilla (/dev/ttyp5) ~ 1 -> cd /src/OpenBSD/src/sbin/fsck
=== grog@wantadilla (/dev/ttyp5) /src/OpenBSD/src/sbin/fsck 2 -> l
total 1
drwxr-xr-x  2 grog  lemis    512 Apr 17  1999 CVS
-rw-r--r--  1 grog  lemis    171 Sep 22  1997 Makefile
-r--r--r--  1 grog  lemis    421 Apr 18  1999 TRANS.TBL
-rw-r--r--  1 grog  lemis   3616 Mar 25  1999 fsck.8
-rw-r--r--  1 grog  lemis  10548 Feb 28  1997 fsck.c
-rw-r--r--  1 grog  lemis   6034 Sep  9  1997 fsutil.c
-rw-r--r--  1 grog  lemis   2714 Oct 20  1996 fsutil.h
lrwxr-xr-x  1 root  wheel     18 May 28 20:20 obj -> /usr/obj/sbin/fsck
-rw-r--r--  1 grog  lemis   1857 Oct 20  1996 pathnames.h
-rw-r--r--  1 grog  lemis   8734 Mar 25  1999 preen.c

>>     These two points mean that if you later
>>     want to go back and tune your kernel (change a driver parameter,
>>     say), you can't just do a config; cd ../../compile/FOO; make, you
>>     have to go the whole nine yards.
>
> See #1.

OK.  See point 1.

>> 3.  It gives the kernel a different name.
>
> It _installs_ kernel with a different name. 

It also builds it with a different name.

> Personally, I prefer different names, even though it annoyed the hell
> out of me at first. Until I changed my /boot/loader.conf :).

Peter recently removed the possibility of different kernel names from
config(8).  I assume this is now done by a rename.  At least we should
agree whether the idea of differently named kernels is good or bad.

>> 4.  It's just plain clumsy.
>
> MMmmm? In what way? A single command line does all the work for me,
> including variations on running config, with and without -r, and making
> depend or not.

Right, but you need to specify the name of the kernel.  That's
clumsy in my book.

> Perhaps your average kernel building procedure is much more complex
> than mine was...

I don't think so.  It used to be less complex.

Greg
--
When replying to this message, please take care not to mutilate the
original text.  
For more information, see http://www.lemis.com/email.html
Finger grog@lemis.com for PGP public key
See complete headers for address and phone numbers


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




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