cirosantilli / linux-kernel-module-cheat

The perfect emulation setup to study and develop the Linux kernel v5.4.3, kernel modules, QEMU, gem5 and x86_64, ARMv7 and ARMv8 userland and baremetal assembly, ANSI C, C++ and POSIX. GDB step debug and KGDB just work. Powered by Buildroot and crosstool-NG. Highly automated. Thoroughly documented. Automated tests. "Tested" in an Ubuntu 24.04 host.
https://cirosantilli.com/linux-kernel-module-cheat
GNU General Public License v3.0
4.21k stars 605 forks source link

Understand why kernel modules became so large after v3.0 #78

Open cirosantilli opened 5 years ago

cirosantilli commented 5 years ago

As of 2d360b039f16e7aec26071c2fd3bc7af46228215 the release zip has become very large at about 160MiB compared to v3.0 60MiB.

Part of this is due to the addition of baremetal binaries.

However, the buildroot image also got way larger. There isn't a single file that dominates it, but the bulk is clearly under /lkmc.

One thing that looks the most suspicious is that kernel modules have become like 5x larger, we should understand what has led to this change.