Script to build-in used modules, based on

From: Phil Endecott
Date: Sat Oct 18 2008 - 12:21:19 EST

Dear List,

Last month, Steven Rostedt posted a script to disable not-currently-used modules from your .config:

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:

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.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at