From owner-freebsd-stable@FreeBSD.ORG Fri Feb 10 16:01:45 2012 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B12C6106566B for ; Fri, 10 Feb 2012 16:01:45 +0000 (UTC) (envelope-from c.kworr@gmail.com) Received: from mail-ey0-f182.google.com (mail-ey0-f182.google.com [209.85.215.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3CD0A8FC13 for ; Fri, 10 Feb 2012 16:01:41 +0000 (UTC) Received: by eaan10 with SMTP id n10so1129061eaa.13 for ; Fri, 10 Feb 2012 08:01:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=8fVAuF04gKxjF8RfYLoz6Q+Hnr2KG+/EmZISbW4gQEY=; b=odTXHBgGqw5KO+V5DmKY3DVBOpSl6SRoJFuNdseeFbEKT0B7lqgFdGnp9uHRSUIht9 Ddfk3Phmwsy5K0Oi95/ZHhD3385p5ppNUlgbhZIiMsiwsQkZK2lOOo+84M1w8M9Rp5A/ bv9WeqK3c98ZwdZoK3iCowXB1u3JrjOQrOwVc= Received: by 10.14.47.68 with SMTP id s44mr2158330eeb.11.1328887967705; Fri, 10 Feb 2012 07:32:47 -0800 (PST) Received: from green.tandem.local (97-217-132-95.pool.ukrtel.net. [95.132.217.97]) by mx.google.com with ESMTPS id e12sm23262366eea.5.2012.02.10.07.32.45 (version=SSLv3 cipher=OTHER); Fri, 10 Feb 2012 07:32:46 -0800 (PST) Message-ID: <4F35389C.5080007@gmail.com> Date: Fri, 10 Feb 2012 17:32:44 +0200 From: Volodymyr Kostyrko User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:10.0) Gecko/20120208 Firefox/10.0 SeaMonkey/2.7 MIME-Version: 1.0 To: Alexander Leidinger References: <20120210145604.Horde.ewjpSpjmRSRPNSH0YRHxgAk@webmail.leidinger.net> In-Reply-To: <20120210145604.Horde.ewjpSpjmRSRPNSH0YRHxgAk@webmail.leidinger.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: stable@FreeBSD.org Subject: Re: Reducing the need to compile a custom kernel X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2012 16:01:45 -0000 Alexander Leidinger wrote: > during some big discussions in the last monts on various lists, one of > the problems was that some people would like to use freebsd-update but > can't as they are using a custom kernel. With all the kernel modules we > provide, the need for a custom kernel should be small, but on the other > hand, we do not provide a small kernel-skeleton where you can load just > the modules you need. > > This should be easy to change. As a first step I took the generic kernel > and removed all devices which are available as modules, e.g. the USB > section consists now only of the USB_DEBUG option (so that the module is > build like with the current generic kernel). I also removed some storage > drivers which are not available as a module. The rationale is, that I > can not remove CAM from the kernel config if I let those drivers inside > (if those drivers are important enough, someone will probably fix the > problem and add the missing pieces to generate a module). > > Such a kernel would cover situations where people compile their own > kernel because they want to get rid of some unused kernel code (and > maybe even need the memory this frees up). > > The question is, is this enough? Or asked differently, why are you > compiling a custom kernel in a production environment (so I rule out > debug options zhich are not enabled in GENERIC)? Are there options which > you add which you can not add as a module (SW_WATCHDOG comes to my > mind)? If yes, which ones and how important are they for you? The list would be too long for me, that's a sample what I add to my MINIMAL after stripping GENERIC: option DEVICE_POLLING option BPF_JITTER option DIRECTIO option SC_ALT_MOUSE_IMAGE option SC_MOUSE_CHAR=0x3 option ZERO_COPY_SOCKETS option SW_WATCHDOG option ALTQ option ALTQ_CBQ option ALTQ_RED option ALTQ_RIO option ALTQ_HFSC option ALTQ_CDNR option ALTQ_PRIQ option ALTQ_NOPCC device atpic device mptable I even don't use them on most machines however I prefer to build all machines from one kernel config however even this is impossible because for example I can't select scheduler by modules. Some point can be superseded in future for example current work on ULE seems promising. For example, why there are no modules for atpic and mptable? I don't need them on most machines but I can't load them at boot time. -- Sphinx of black quartz judge my vow.