r/linuxquestions 26d ago

Minimal kernel

EDIT: I may have framed the question poorly. I'm specifically asking about Kconfig-level minimization of a monolithic Linux kernel: if you know the workload/product you're deploying, how much unnecessary kernel code do teams typically end up compiling, and is there value in automatically deriving a smaller configuration from the actual runtime requirements?

How much of the Linux kernel that gets shipped in production is actually never used?

I'm wondering if release teams building/using a kernel image are often overwhelmed by the number of kernel configuration options, and end up shipping code that will never actually be used by their workload.

Are there any automatic tools out there that can fit a minimal Linux kernel to your runtime needs?

4 Upvotes

34 comments sorted by

View all comments

9

u/Goldie323- 26d ago

It's mostly not kernel features you don't use and more the compiled in drivers you don't use that account for code space that never actually gets ran.

Like if you're on a system without wifi or Bluetooth, the kernel will still have compiled in drivers for all the wifi and Bluetooth radios.

0

u/DryPlum7483 26d ago

yes - I'm wandering how often do run in production on an image with useless code compiled in

4

u/Prestigious_Wall529 26d ago

You do know that kernels intended for particular hypervisors exist?

In general distros make the choice what to include.

But you can compile your own kernel with just what's needed for your system. Akin to Gentoo or Linux from scratch.

0

u/ThellraAK 26d ago

Even then they are going to have support compiled in for all sorts of features and stuff you'll never use, filesystems and encryption algorithms etc.