I've got a root server with 1and1 and I'm upgrading to a newer kernel... building it myself. I figured that, as long as I'm going to be compiling it myself, to save compile time and runtime memory usage, I'd like to make the kernel and modules as minimal as possible.

So, the question becomes: Which modules/drivers do I need?

I could look to the current kernel, but it's got a bunch of stuff (not just compiled, but loaded) that I'm pretty convinced isn't really on the hardware (like Dell battery monitor... AND the ASUS battery monitor... parallel port driver, etc.). So, I hesitate to just compile in all of the stuff I see in the output of lsmod.

The motherboard does seem to be nForce-based, so I've got the nVidia SATA stuff all loaded, and the RAID1 driver, so the kernel boots, sees the drives and the network card and seems to be running okay. But now I want to see if there's anything I'm missing.

Anybody have any tips on things to run (lsusb? lspci? Some other pnp querying tools?) and how to interpret them to know what other drivers to compile?

  • 2
    You should do this on a local system - building the kernel is process that, though not complicated, requires a certain level of finesse in order to be minimalist. Plus, its easier to reboot a local system than a remote system when you forget a module. – new123456 Nov 6 '11 at 5:15

It's a good question.
You need to list exactly the hardware you have.
Yes: lspi and lsusb is the good way, lsmod also.
You can parse the syslog file to find additional informations.
However: which is loaded have a good reason to be loaded, perhaps about services not used.
Building its home kernel have risks: you need to be prepared to forget something, and you need to be prepared to non-boot system !
Habitualy, we compile kernel because it was modified by patchs.
Have fun !

| improve this answer | |
  1. Download unpack kernel
  2. make localmodconfig
  3. make -j 4
  4. make -j 4 modules
  5. make -j 4 modules_install

make localmodconfig

Automatically detects the modules currently in use, and just activates those modules.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.