Messages in this thread | | | Date | Sat, 18 Oct 2008 17:21:05 +0100 | Subject | Script to build-in used modules, based on streamline_config.pl | From | "Phil Endecott" <> |
| |
Dear List,
Last month, Steven Rostedt posted a script to disable not-currently-used modules from your .config:
http://article.gmane.org/gmane.linux.kernel/734536
It works by parsing the kernel Makefiles to build a map from module names to config settings.
I've made a slightly modified version of this that takes the .config for an all-modular kernel (e.g. a distribution kernel) and changes the settings for those modules that are currently loaded so that they will be built in:
http://chezphil.org/tmp/buildin_used_mods.pl
The aim of this is to provide a semi-automatic method to produce a custom kernel that has everything needed for your hardware built in, so you don't need an initrd.
One issue that I encountered is that not every config setting builds a module and may not be changed. For example, if I need module xyz to support my IDE disk, then the script will change CONFIG_XYZ from m to y. However, it won't change CONFIG_IDE from m to y. When I subsequently make menuconfig, it detects that CONFIG_XYZ=y is incompatible with CONFIG_IDE=m, but it fixes it in the wrong way; it changes CONFIG_XYZ back to m, rather than changing CONFIG_IDE to y. Is there any way to change this?
Someone with better Perl skills than me could probably merge Steven's original script with my variation with a command-line option to determine the behaviour. It would be good to something like this merged.
Cheers, Phil.
| |