From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Theodore Tso <tytso@mit.edu>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
zippel@linux-m68k.org, linux-kbuild@vger.kernel.org,
Sam Ravnborg <sam@ravnborg.org>,
Dick Streefland <dick@streefland.net>,
Stephen Rothwell <sfr@canb.auug.org.au>
Subject: [PATCH 00/15] [GIT PULL] kconfig: localmodconfig for v2.6.32
Date: Fri, 11 Sep 2009 15:58:49 -0400 [thread overview]
Message-ID: <20090911195849.451244684@goodmis.org> (raw)
Linus,
This is the patch set that creates localmodconfig and localyesconfig.
This will facilitate testers by removing the thousand modules that
distributions enable with only the ones that they have loaded.
Yes it may miss usb devices that you don't have plugged in, but it will
save a lot of time in compiling by only compiling the code that you
have loaded.
The usage is quite simple. Just download the latest kernel.org kernel
(with this changeset in), cd to that directory and then do:
make localmodconfig
It will search for a .config locally first, then will look for
/proc/config.gz, then it will search the /boot directory for configs
matching the local kernel (uname -r). If it still does not find one
It search for configurations in the local binarys (vmlinux, /lib/modules..,
kernel/configs.ko, etc).
Once it finds a config to use, it will then read all the Kconfigs
and Makefiles to find out what config compiles what module. Then lsmod
is used to see what modules are loaded, and it will keep enabled all
the configs (including dependencies) that those modules require to
build. It disables all modules not needed.
Note, it only disables it does not enable, because a lot of modules
can be enabled by more than one config, and I don't want to guess.
I could someday enable easy configs (1 to 1 matches of config to module).
It also does nothing with built in code (=y). It does not enable or
disable them.
I've been using this code (various versions of) since 2005, and
so have others. When I get a new box, the first thing I do is
boot up the distribution kernel, download kernel.org kernel, and run
this script to get the modules needed to boot the kernel.
** CONFLICTS **
linux-next has proven that there is a conflict between these patches
and Sam Ravnborg's tree. I've tried to get in contact with Sam, but
he seems to be out. I don't want to hold up this push on that account.
But if you want, I could wait to fix the conflicts, or you can pull
this and he can fix it on his end. I'm fine with it. I just think
that this tool is important enough to get into mainline, especially
early in the merge window since it will help others test it. ;-)
Please pull kconfig updates for v2.6.32 from:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig.git
for-linus
Steven Rostedt (15):
kconfig: add streamline_config.pl to scripts
kconfig: make localmodconfig to run streamline_config.pl
kconfig: add make localyesconfig option
kconfig: streamline_config.pl do not stop with no depends
kconfig: do not warn about modules built in
kconfig: enable CONFIG_IKCONFIG from streamline_config.pl
kconfig: add check if end exists in extract-ikconfig
kconfig: have extract-ikconfig read ELF files
kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set
kconfig: search for a config to base the local(mod|yes)config on
kconfig: unset IKCONFIG_PROC and clean up nesting
kconfig: test for /boot/config-uname after /proc/config.gz in localconfig
kconfig: make local .config default for streamline_config
kconfig: test if a .config already exists
kconfig: add missing dependency of conf to localyesconfig
----
kernel/Makefile | 2 +-
scripts/extract-ikconfig | 14 ++
scripts/kconfig/Makefile | 34 +++-
scripts/kconfig/streamline_config.pl | 366 ++++++++++++++++++++++++++++++++++
4 files changed, 414 insertions(+), 2 deletions(-)
--
next reply other threads:[~2009-09-11 20:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-11 19:58 Steven Rostedt [this message]
2009-09-11 19:58 ` [PATCH 01/15] kconfig: add streamline_config.pl to scripts Steven Rostedt
2009-09-11 19:58 ` [PATCH 02/15] kconfig: make localmodconfig to run streamline_config.pl Steven Rostedt
2009-09-11 19:58 ` [PATCH 03/15] kconfig: add make localyesconfig option Steven Rostedt
2009-09-11 19:58 ` [PATCH 04/15] kconfig: streamline_config.pl do not stop with no depends Steven Rostedt
2009-09-11 19:58 ` [PATCH 05/15] kconfig: do not warn about modules built in Steven Rostedt
2009-09-11 19:58 ` [PATCH 06/15] kconfig: enable CONFIG_IKCONFIG from streamline_config.pl Steven Rostedt
2009-09-11 19:58 ` [PATCH 07/15] kconfig: add check if end exists in extract-ikconfig Steven Rostedt
2009-09-11 19:58 ` [PATCH 08/15] kconfig: have extract-ikconfig read ELF files Steven Rostedt
2009-09-11 19:58 ` [PATCH 09/15] kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set Steven Rostedt
2009-09-11 19:58 ` [PATCH 10/15] kconfig: search for a config to base the local(mod|yes)config on Steven Rostedt
2009-09-11 19:59 ` [PATCH 11/15] kconfig: unset IKCONFIG_PROC and clean up nesting Steven Rostedt
2009-09-11 19:59 ` [PATCH 12/15] kconfig: test for /boot/config-uname after /proc/config.gz in localconfig Steven Rostedt
2009-09-11 19:59 ` [PATCH 13/15] kconfig: make local .config default for streamline_config Steven Rostedt
2009-09-11 19:59 ` [PATCH 14/15] kconfig: test if a .config already exists Steven Rostedt
2009-09-11 19:59 ` [PATCH 15/15] kconfig: add missing dependency of conf to localyesconfig Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090911195849.451244684@goodmis.org \
--to=rostedt@goodmis.org \
--cc=acme@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=dick@streefland.net \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sam@ravnborg.org \
--cc=sfr@canb.auug.org.au \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).