Messages in this thread | | | Date | Mon, 22 Sep 2008 12:01:51 +0200 | From | Takashi Iwai <> | Subject | Re: 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 <tiwai@suse.de> 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.
Agreed.
> 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?
Takashi
| |