[lkml]   [2008]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: diet-kconfig: a script to trim unneeded kconfigs
At Fri, 19 Sep 2008 16:55:51 -0700,
Chris Li wrote:
> On Fri, Sep 19, 2008 at 9:01 AM, Takashi Iwai <> wrote:
> > Yes. Your stuff would be actually helpful for people who want
> > a really slim kernel config.
> Incidentally, I wrote such a script as well. In 64 lines of python code.
> I attach the script in question in the mail. I use a approach very
> similar to yours. But I work around some of the nasty part.

Thanks, I'll check yours too soon.

> It needs to start with kernel config has most of the modules enabled.
> Most of the kernel config from the linux distribution is like that.
> Then it try to parse the Kbuild looking for what kernel config produce
> what module. It is not a 1 to 1 mapping.
> Once we have the mapping. It open /proc/modules to go over every
> module. Remove the config which can produce those module from the
> mapping.
> Now we have a blacklist of config produce modules but not the one we want.
> Then the last stage is just open a config file and filter out the config
> option on the blacklist. Write the result to a new config file.

I think a whitelist would be useful, too, e.g. for hotplug devices
like usb.

> I avoid arch/ and firmware/ because it is nasty. I figure module in
> arch/ is small enough I don't mind building it. And the firmware directory,
> if I don't build the module loads it. Those firmware will automatically skipped
> any way.


> The little tricky part is some thing like this:
> ========================
> ifeq ($(CONFIG_BLK_DEV_CMD640), m)
> obj-m += cmd640.o
> endif
> ========================
> Internally it get convert it into:
> "obj-$(CONFIG_BLK_DEV_CMD640) += cmd640.o"

This should be fixed in Makefile.
Care to submit a patch?


 \ /
  Last update: 2008-09-22 12:05    [W:0.121 / U:0.164 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site