Reducing the ARM Linux kernel size without losing your mind


One Line Summary

Ways to reduce the Linux kernel size and the problems that they face.


Automatically reducing the Linux kernel size may be achieved in
different ways. Using LTO (Link Time Optimization) is one such way with many advantages, but it also has major issues. A simpler alternative is linker section garbage collection. However, it turns out that even “simpler” solutions have their share of unsuspected pitfalls, especially on ARM. Those pitfalls and proposed solutions are the subjects of this discussion.


kernel, size

Presentation Materials



  • Nicolas Pitre



    Nicolas Pitre has been a Linux developer on the ARM architecture since
    1995. He started maintaining the Linux port for the StrongARM SA1100 in 1997 and has been an active member of the ARM Linux community since then. In the last 15 years, he worked closely with a few silicon vendors to add Linux support for various ARM based products while adding some core features to the ARM kernel such as EABI and highmem. His latest contributions revolved around
    power management for ARM’s big.LITTLE. Code efficiency and binary size has always been a pet peeve for Nicolas which also prompted him to contribute improvements to gcc on a few occasions.