Demystifying initramfs and ELF



We take an in-depth look at two kinds of startup procedures: the initramfs system, and the process of loading and executing ELF binaries.


While the boot process of a Linux system has received a lot of attention recently, certain aspects are still poorly understood. We aim to demystify two of these.

initramfs is usually ignored unless it’s broken. We illuminate this often-misunderstood system, including its history, rationale, capabilities, loading process, and the kernel’s built-in userspace.

ELF has many capabilities, of which Linux binaries use only a subset. We explore the format in detail, including the loading process, and interpreters, and rpath and its implications for Linux distributions.


initramfs, ELF, boot, load, file formats, linker


Leave a private comment to organizers about this proposal