From owner-freebsd-hackers@FreeBSD.ORG Wed Jul 21 00:39:33 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8B36316A4CE; Wed, 21 Jul 2004 00:39:33 +0000 (GMT) Received: from lakermmtao09.cox.net (lakermmtao09.cox.net [68.230.240.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id D8F6F43D31; Wed, 21 Jul 2004 00:39:32 +0000 (GMT) (envelope-from conrads@cox.net) Received: from dolphin.local.net ([68.11.71.51]) by lakermmtao09.cox.net (InterMail vM.6.01.03.02.01 201-2131-111-104-103-20040709) with ESMTP <20040721003930.HONQ19339.lakermmtao09.cox.net@dolphin.local.net>; Tue, 20 Jul 2004 20:39:30 -0400 Received: from dolphin.local.net (localhost.local.net [127.0.0.1]) by dolphin.local.net (8.12.11/8.12.11) with ESMTP id i6L0dV3m023581; Tue, 20 Jul 2004 19:39:31 -0500 (CDT) (envelope-from conrads@dolphin.local.net) Received: (from conrads@localhost) by dolphin.local.net (8.12.11/8.12.11/Submit) id i6L0dVwh023580; Tue, 20 Jul 2004 19:39:31 -0500 (CDT) (envelope-from conrads) Message-ID: X-Mailer: XFMail 1.5.5 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Date: Tue, 20 Jul 2004 19:39:31 -0500 (CDT) Organization: A Rag-Tag Band of Drug-Crazed Hippies From: "Conrad J. Sabatier" To: freebsd-hackers@freebsd.org cc: freebsd-config@freebsd.org Subject: "Next Generation" kernel configuration? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: conrads@cox.net List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Jul 2004 00:39:33 -0000 Just musing on an idea here: I've been thinking for a while now about trying to write a tool to make kernel configuration easier, sort of a "make config" (as in ports) for the kernel, similar to what's available on some of the Linux distros. Ideally, such a tool would be capable of automatically adapting itself to handle and present as choices, in an orderly and logical fashion, whatever devices, options, etc. were currently available, as defined by the files in /sys/conf et al. The major hurdle to overcome, it appears to me, is that the scheme currently employed to describe the available devices, options, etc. does not lend itself very easily at all to any kind of automatic parsing or other manipulations. Determining dependencies between components programmatically, for one thing, seems well near impossible. The NOTES files, in their current form, make even finding the comment associated with a particular option or device extremely difficult, if not impossible. Has this ever come up for discussion before? Now that we have rcNG, with its explicit declarations of dependencies, has any thought been given to doing something similar with kernel configuration files? Something still human-readable, yet more orderly and systematic, easier for a machine to interpret, present and verify? A dependable tool offering a menu-driven means of configuring the kernel, ensuring proper config file syntax, dependency handling, prevention of incompatible options, etc. -- as well as online documentation, advice, suggestions and warnings, plus perhaps a nice set of default selections -- would be a very nice addition to the system. But to bring it about, obviously a major reworking of the current system of kernel configuration files would be required. Thoughts? -- Conrad J. Sabatier -- "In Unix veritas"