To view parent comment, click here.
To read all comments associated with this story, please click here.
I'm not sure if I understand. You want a tool that would examine a system and produce the minimal kernel config that would cover all the system needs?
First of all, it's a chicken and egg problem. I'm not sure if you can discover certain system capabilities if the kernel doesn't already offer support for that capability. So you'd need a "full" featured kernel to produce the leaner one.
Second, some hardware is pluggable. USB printers, for instance. There's no way for a diagnostics tool to realise you need USB printer support unless you have one plugged in and turned on at examination time and if, again, you don't already have support for that.
So I'm afraid that in the end the human is needed to project everything that would be needed in a kernel.
I agree there has to be a full blown kernel the first time the system is runnning. Thereafter a simple parse from lsmod
lsmod:
-------
Module Size Used by
vmnet 38416 13
vmblock 15520 3
vmmon 929636 0
nvidia 6211568 24
i2c_core 21632 1 nvidia
snd_intel8x0 29852 1
snd_bt87x 14792 0
snd_ac97_codec 89632 1 snd_intel8x0
snd_pcm 63620 3 snd_intel8x0,snd_bt87x,snd_ac97_codec
snd_timer 20100 1 snd_pcm
snd 37060 7 snd_intel8x0,snd_bt87x,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc 11272 3 snd_intel8x0,snd_bt87x,snd_pcm
ac97_bus 6016 1 snd_ac97_codec
----------
should be enough to build a kernel with a leaner config.
So I'm afraid that in the end the human is needed to project everything that would be needed in a kernel.
Yeah a human to code.
My wish was not to cut totally the human interaction on kernel configuration, just to be a little more sane on the amount of information we, humans, need to process when setting a basically new machine.
Also, realize that when you setup a new computer, the kernel that cames with your distro already has almost everything plus kitchen sink compiled.
So, basically what I was thinking about is this:
- got a new or updated computer;
- install the distro kernel;
- run a program to analyze your hardware and cut things you are not going to use (could have a guess level) that generates a valid minimum (or almost) .config;
- run make menuconfig (or even oldconfig) to do the tweaks.
Realize that, as the kernel keep getting more and more drivers and settings, the time needed to tweak it get bigger and bigger.
Also, such tool can help when you want a lean kernel for a particular machine you are not going to touch anymore (or almost).






Member since:
2005-11-15
Yes, it does if you don't change your computers boards or if you play with the kernel on just one. I was not talking about these cases.