February 11, 2020

Creating a minimal Linux kernel

In Linux forums there was announced an interesting challenge: creating a minimalist linux kernel, https://www.quora.com/What-is-the-smallest-in-size-Linux-kernel The idea is, to compile the Kernel from scratch, leave out most of the modules and hope that it will fit in under 10 MB of space. If this task make sense for productive systems is open but it make sense for learning how the Linux system is working.

In other forums it was explained, that distributions like LFS and Gentoo are supporting this attempt. Other Linux distributions like Tiny core linux and puppy linux are the result of the goal to create a minimalist system. The sad news is, that no performance improvement is visible. The runtime of a program is the same if a 10 MB linux kernel or a 1 GB Linux kernel was bootet. Unfortunately, such a system can't be used for older computers, because even if the kernel runs well on a 486'er machine the user can't utilize it because a 486'er PC has no USB connector, no LAN card and no high resolution graphics card. At the end, the experiment results into a lesson learned and the user will switch back to it's normal COTS linux distirubiton which includes Gnome and a full scale kernel.

But what will happen if the challenge is taken with the opposite attempt: How to create the most complete Linux kernel which includes all the modules?