From owner-freebsd-doc@FreeBSD.ORG Wed Aug 25 08:10:41 2004 Return-Path: Delivered-To: freebsd-doc@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B91DC16A549 for ; Wed, 25 Aug 2004 08:10:40 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 26A4E43D5E for ; Wed, 25 Aug 2004 08:10:37 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i7P8AIEk098367 for ; Wed, 25 Aug 2004 08:10:18 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i7P8AIbK098366; Wed, 25 Aug 2004 08:10:18 GMT (envelope-from gnats) Date: Wed, 25 Aug 2004 08:10:18 GMT Message-Id: <200408250810.i7P8AIbK098366@freefall.freebsd.org> To: freebsd-doc@FreeBSD.org From: Peter Pentchev Subject: Re: docs/70674: [PATCH] Update handbook to match 5.3R (8.4 - The Configuration File) X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Peter Pentchev List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Aug 2004 08:10:42 -0000 The following reply was made to PR docs/70674; it has been noted by GNATS. From: Peter Pentchev To: Joel Dahl Cc: bug-followup@FreeBSD.org Subject: Re: docs/70674: [PATCH] Update handbook to match 5.3R (8.4 - The Configuration File) Date: Wed, 25 Aug 2004 11:05:12 +0300 --OgqxwSJOaUobr8KG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 20, 2004 at 04:50:32PM +0000, Joel Dahl wrote: > --- chapter.sgml Thu Aug 19 16:05:42 2004 > +++ new.chapter.sgml Thu Aug 19 21:16:12 2004 Great going! A rewrite (or at least a retouch) of the kernel config section is indeed needed, thanks for taking the time to do it! But... :) see below for a couple of comments. > @@ -426,19 +426,18 @@ > some related keywords have been grouped together in a single sect= ion > (such as Networking) even though they are actually scattered > throughout the GENERIC file. + id=3D"kernelconfig-options"> An exhaustive list of architecure > + dependent options and more detailed explanations of the device li= nes > + is present in the NOTES configuration file, > + located in the same directory as GENERIC. If= you > + are in doubt as to the purpose or necessity of a line, check firs= t in > + NOTES. Architecure independent options are > + stored in /usr/src/sys/conf/NOTES. > + > + In &os; 4.X and earlier NOTES is > + non-existent. Instead, see the LINT file for > + detailed explanations of options in GENERIC. > + Actually, just substituting NOTES for LINT is not quite (or at least not completely) correct. It is true that the sys/conf/NOTES and sys//conf/NOTES files are the place one should look when choosing kernel options to include (or remove) when building a custom kernel config, so that much is correct. However, there is a bit more to be said about the NOTES vs LINT issue, and it might need a little detour into history :) The purpose of the LINT kernel config in FreeBSD 4.x and earlier was actually twofold: to provide a reference for choosing kernel options when building a custom kernel, *and* to provide a kernel configuration file with as much drivers/options included as possible and as many tweakable knobs tweaked to non-default values as possible. The idea was that such a kernel config should (and does) help a lot in checking whether new code or changes to existing code will cause conflicts with other parts of the kernel. Then, about 4 years ago, Peter Wemm borrowed Poul-Henning Kamp's axe and took it to the kernel configuration framework, almost turning the thing inside out :) The part of this change that interests us most is the fact that the driver configuration options that were so far stored in the kernel config (e.g. 'device ppc0 at isa? irq 7') were moved to a so-called 'hints' file, so that they could be changed and loaded dynamically at boot time. Among other things, this meant that the LINT file could no longer contain those hints (since the syntax had changed to just 'device ppc' and a separate line *in a separate file*), so for this and other reasons, the file-formerly-known-as-LINT was renamed to (nope, not 'Symbol') NOTES and retained mostly the first reason for its existence: documenting the available options for user convenience. However, the second reason - building a kernel with all the bells and whistles and seeing which of those do not play nice with each other - was (and is) still very, very important, so in the same change 4 years ago Peter Wemm also created sys//conf/Makefile with the sole purpose of taking sys//conf/NOTES and sys/conf/NOTES and converting them into a buildable kernel config file named - yep, you guessed it - LINT. So basically, it's not so much that NOTES doesn't exist in 4.x, it's more like LINT turned to NOTES in 5.x, but you can still generate a buildable LINT: # cd /sys/i386/conf && make LINT =2E..and you can later build the LINT kernel: # cd /usr/src && make KERNCONF=3DLINT NO_MODULES=3Dyes buildkernel (the NO_MODULES part serves two purposes: first, pretty much all the code is *in* the LINT kernel, and second, nobody in their right mind would actually try to *boot* the thing :) Soooo... do you think you could somehow integrate some of those mindless ravings of mine (rewording where necessary :) into your changes? And it's okay if you don't want to - sometimes I amaze myself when I look at things I've written a couple of months ago and wonder just how could I have been so dumb and/or unclear :) G'luck, Peter --=20 Peter Pentchev roam@ringlet.net roam@cnsys.bg roam@FreeBSD.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 If this sentence didn't exist, somebody would have invented it. --OgqxwSJOaUobr8KG Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (FreeBSD) iD8DBQFBLEg47Ri2jRYZRVMRAtgZAJ0dm0eKcLwKJa03rL5cU+OK0CgaowCfSd60 ifo6ODijEcpbEk/+EvWnAyA= =H6tv -----END PGP SIGNATURE----- --OgqxwSJOaUobr8KG--