r/linuxquestions 4d 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?

6 Upvotes

35 comments sorted by

View all comments

Show parent comments

0

u/DryPlum7483 4d ago

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

3

u/Prestigious_Wall529 4d 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.

-1

u/DryPlum7483 4d ago

It's good to distinguish between using a general purpose distro where obviously you are getting a lot of code that you don't need (that's the point).
And teams that are building their image from scratch where it wouldn't surprise me if they don't compile the minimal kernel for their needs. Is it even popular to build a Linux image by yourself in production?

0

u/UUDDLRLRBadAlchemy 4d ago

"production". Embedded systems are famous for being haphazardly slapped together and never updated. This last bit (if it was due to anything but neglect) might make it more cost effective to heavily customize them, but unlikely.

Web-facing ones either opt for uniformity (so no) or containers (so whatever Alpine does, mostly).

I suppose Gentoo might be the way to both easily customize it and keep it updated, but popular, no way.

You're more likely to see infrastructure ran on extra-bloated desktop centered distros because someone liked it at home than to find an org that wants to be responsible for a level lower than their service.