I'm building a custom kernel to run in a VMWare guest. The idea is to disable all of the drivers, security features, debugging, and other non-essential features. I have a few questions:

1) Is this likely to result in significant performance improvements?

2) Is there an easier way to do this besides going through menuconfig and unchecking a ton of stuff?

3) Has someone else already done this, saving me time?

  • 1
    1) No. 2) No. 3) You're already wasting your time trying. Really. Consider changing things only when you can measure the effects. And disable security features only when you fully understand the risks. – Satō Katsura Jun 1 '17 at 7:16
  • I agree about the security, but I'm familiar with the risk. Also, the effects can be measured by benchmarking the boot process and other operations. – SArcher Jun 4 '17 at 2:53
  • Benchmarking boot and measuring the effects of changing the kernel are very different concepts. Which I suspect is why you asked here in the first place. – Satō Katsura Jun 4 '17 at 6:24

The Linux kernel includes only critical drivers which are essential for it to work. A bunch of other drivers exist but are provided as external modules and loaded at runtime only if necessary.

Disabling security features is a very bad idea.

As for disabling debugging, I don't know how much space you'll save with that but it will be hardly worth the effort.

You might want to have a look at Tiny Core Linux or the Linux Kernel Tinification project which might provide what you're looking for.

  • 2
    And even then, those small kernels wont probably be useful as they are; you do not want to cut support for paravirtualization of virtual NICs and disks. – Rui F Ribeiro Jun 1 '17 at 7:46
  • The Linux kernel contains a ton of drivers for rare and archaic hardware, but I think make tinyconfig is what I'm looking for. That was in the Linux Kernel Tinification link. – SArcher Jun 2 '17 at 1:00

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.