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>