Overview
Explore embedded Linux size reduction techniques in this comprehensive conference talk. Learn approaches for minimizing the kernel, individual applications, and entire filesystem to run Linux on systems with limited RAM and storage resources or to achieve faster boot times. Discover benchmarks illustrating potential savings for each method, and gain insights from participant experiences and ideas for further improvements. Delve into topics such as GCC optimizations, Clang vs GCC comparisons, kernel configuration options, user space optimizations, and recent achievements in the field. Benefit from Michael Opdenacker's expertise as the founder of Free Electrons, known for its freely available training materials on the Linux kernel and embedded Linux.
Syllabus
Introduction
Why reduce size
Why this talk
How small is a Linux kernel
GCC
Link Time Optimizations
clang vs GCC
Arm vs Thumb
Tiny Config
Slub
Kernel Size
Testing
Elementor
LTO
Clank
Kernel xip
Kernel configuration options
nmsizesort
LLVM Linux
User Space
Toybox
Busybox
Optimizing libraries
Conclusions
Recent achievements
References
Taught by
Linux Foundation