From owner-freebsd-advocacy@FreeBSD.ORG Thu Dec 27 11:06:16 2007 Return-Path: Delivered-To: freebsd-advocacy@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F72716A468 for ; Thu, 27 Dec 2007 11:06:16 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from igloo.linux.gr (igloo.linux.gr [62.1.205.36]) by mx1.freebsd.org (Postfix) with ESMTP id AE81113C45A for ; Thu, 27 Dec 2007 11:06:15 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from kobe.laptop (ppp1-46.pat.forthnet.gr [213.16.208.46]) (authenticated bits=128) by igloo.linux.gr (8.14.1/8.14.1/Debian-9) with ESMTP id lBRB5TRJ021615 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 27 Dec 2007 13:05:59 +0200 Received: from kobe.laptop (kobe.laptop [127.0.0.1]) by kobe.laptop (8.14.2/8.14.2) with ESMTP id lBRB5MQI001638; Thu, 27 Dec 2007 13:05:55 +0200 (EET) (envelope-from keramida@ceid.upatras.gr) Received: (from keramida@localhost) by kobe.laptop (8.14.2/8.14.2/Submit) id lBOMjSXC092227; Tue, 25 Dec 2007 00:45:28 +0200 (EET) (envelope-from keramida@ceid.upatras.gr) Date: Tue, 25 Dec 2007 00:45:27 +0200 From: Giorgos Keramidas To: Grant Message-ID: <20071224224527.GA13123@kobe.laptop> References: <49bf44f10712122100y45f12f77q4ae47f311905be25@mail.gmail.com> <200712131947.lBDJlMeZ008204@satan.anjos.strangled.net> <49bf44f10712131235v2d73a412k81ca9714911bfccd@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49bf44f10712131235v2d73a412k81ca9714911bfccd@mail.gmail.com> X-Hellug-MailScanner: Found to be clean X-Hellug-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-4.099, required 5, autolearn=not spam, ALL_TRUSTED -1.80, AWL 0.30, BAYES_00 -2.60) X-Hellug-MailScanner-From: keramida@ceid.upatras.gr X-Spam-Status: No Cc: freebsd-advocacy@freebsd.org Subject: Re: Current Gentoo user X-BeenThere: freebsd-advocacy@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD Evangelism List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Dec 2007 11:06:16 -0000 On 2007-12-13 12:35, Grant wrote: >> After two years using Gentoo, after the first very positive >> impression, I'm a bit tired of breaking things due to updating one >> port. It's also too much of a pain reconfiguring and recompiling the >> Linux kernel. > > Configuring the kernel with menuconfig is a pain. How is it handled > differently with FreeBSD? We use flat text files, like `GENERIC'. They are stored in a well documented, standard place inside the kernel source tree, at the `/usr/src/sys/${ARCH}/conf' directory, where `ARCH' is one of `i386', `amd64' or another supported architecture. All the kernel options and their dependencies are documented in a set of plain text, easy to skim through, files: /usr/src/sys/conf/NOTES # Machine independent options /usr/src/sys/i386/conf/NOTES # Machine-dependent options (i386 platform) You can either copy `GENERIC' and tweak its options, or create a minimal kernel config file called `KERAMIDA' which contains just the text: include GENERIC # Use the `GENERIC' kernel for defaults ident KERAMIDA # Custom/local kernel identifier nooption SCHED_4BSD # Disable the 4BSD scheduler. option SCHED_ULE # Enable the ULE scheduler. That's it. With this short kernel config file you are building a custom kernel which uses the `ULE' scheduler by default. To build in a clean checkout of the FreeBSD source tree, all it takes is[1]: # cd /usr/src # make KERNCONF='KERAMIDA' buildkernel [1] There may be a few more steps if you are often building new kernel and userland snapshots, but they are clearly documented in a plain text file called `/usr/src/UPDATING' --- conveniently placed in the toplevel directory of the source tree. I personally find this way of working *MUCH* easier than having to navigate a dozen sublevels of a menu, but YMMV. >> Perhaps it's my lack of experience. On FreeBSD, you can compile the >> kernel every day with no trouble at all, even the whole base system >> weekly, if you're so inclined. I can't be objective, but I think in >> this respect FreeBSD is much, much, much better. > > Can you tell me more about what you mean here? How is it much better? > Easier kernel management? All the information you need to rebuild the full userland *and* kernel of the FreeBSD base system is described in `/usr/src/UPDATING'. That's not all there is, however. The FreeBSD Handbook includes a wealth of documentation about the same process too, including a fairly detailed description of the steps documented in `/usr/src/uPDATING'. There is a *lot* of standard documentation and information describing how to rebuild the base system of FreeBSD from source. What is even more amazing, and intriguing about FreeBSD is that the precise steps to perform an upgrade have changed *very* *little* since the days of my first adventures into BSD-land. There are only minimal changes, if any, to the upgrade process since FreeBSD 3.2 was released more than a decade ago... This stability of `interface' is amazing, and it's what keeps me thrilled with FreeBSD ever since :-) - Giorgos