From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756809AbYIRURc (ORCPT ); Thu, 18 Sep 2008 16:17:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755410AbYIRURY (ORCPT ); Thu, 18 Sep 2008 16:17:24 -0400 Received: from ns2.suse.de ([195.135.220.15]:40650 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753599AbYIRURX (ORCPT ); Thu, 18 Sep 2008 16:17:23 -0400 Date: Thu, 18 Sep 2008 22:17:22 +0200 Message-ID: From: Takashi Iwai To: Mauro Carvalho Chehab Cc: linux-kernel@vger.kernel.org Subject: Re: diet-kconfig: a script to trim unneeded kconfigs In-Reply-To: <20080918122541.2c3c7b39@areia.chehab.org> References: <20080918122541.2c3c7b39@areia.chehab.org> User-Agent: Wanderlust/2.12.0 (Your Wildest Dreams) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/22.2 (x86_64-suse-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Thu, 18 Sep 2008 12:25:41 -0300, Mauro Carvalho Chehab wrote: > > Hi Takashi, > > On Wed, 17 Sep 2008 01:55:26 +0200 > Takashi Iwai wrote: > > > Hi, > > > > a topic that just came up in kernel summit is a script to remove > > unneeded kernel configs automatically to reduce the compile time. > > Incidentally, I already wrote such a script during the last SUSE hack > > week a couple of weeks ago, so I'd like to share here, hopefully to > > give an idea for further improvements. > > > > The script checks the currently loaded modules and trims other > > CONFIG_XXX=m simply, and tries make oldconfig, and writes out the > > resultant .config in the current directory after some checks. > > You can specify the config file via option, as default, it reads from > > /proc/config.gz. > > I agree with Giacomo: you should also check for /boot/config-`uname -r` > and /boot/config-`uname -r`.gz. OK, I'll add the check of these as fallback. Any known paths for other distros? > Also, if the idea is to make life easier for kernel newbies, I think the better > would be to have the script called at kernel Makefile (something like "make > diet"), and having a few other config's available somewhere at kernel tree, > since even a "minimal" kernel may need (or not) a few random modules, like > usb-storage. So, I think we should open a dialog that allows the selection of > using the previous kernel config or selecting between a few profiles like > "minimalist" (just the auto-detected things), "desktop" (adding things like > usb-storage), "notebook" (with a power-saving optimized config), > "server" (adding stuff like LVM, RAID5 and some advanced network configs). There are different perspectives for this. My goal to reduce the build time with the existing kernel config for a specific hardware. That is, it makes eaiser to create another set of kernel with test patches or bisect. OTOH, it would be definitely useful if we can create a clean minimum kernel config from scratch based on the hardware information. For that, the use-case specific configuration (or preset) would be good. > > The script is VERY hackish. I should have begun with perl or whatever > > better script language, but I chose bash and co. So, don't expect > > much code quality. I'm no script guy after all :) > > Using just a shellscript and binutils seems to be better than using other > tools, since it allows the usage on minimal configured systems where the user > might not have perl or other scripting languages. Well, perl or python is most likely installed on every modern system, so I think we don't stick with bash & co. But, I see your point, and it's also the reason I started with bash, etc. thanks, Takashi