Celé jádro se nahraje do paměti při bootování, obvykle spolu s initramfs
dnes. (Stále je možné nastavit systém tak, aby se spouštěl bez initramfs
ale to je na stolních počítačích a serverech neobvyklé.)
initramfs
jeho úlohou je poskytovat funkce potřebné k připojení "skutečných" souborových systémů a pokračování zavádění systému. To zahrnuje moduly jádra a také různé binární soubory:potřebujete alespoň udev
, možná nějaké sítě a kmod
který načte moduly.
Moduly lze do jádra načíst později než při samotném zavedení, takže není třeba jádro nijak zvlášť připravovat pomocí initramfs
. Mohou být uloženy kdekoli:initramfs
, /lib/modules
na skutečném souborovém systému, ve vývojovém stromu, pokud vyvíjíte modul... initramfs
potřebuje pouze obsahovat moduly, které jsou nezbytné pro připojení kořenového souborového systému (který obsahuje zbytek).
Celé jádro (ale ne jeho moduly) bude načteno do paměti. Pokud existují moduly, které bude jádro potřebovat, než budou dostupné nějaké souborové systémy (to obvykle znamená ovladače pro souborové systémy a jejich zařízení), pak tyto moduly budou v initramfs (v paměti) a jádro je načte odtud. Další moduly lze načíst později ze systému souborů.
Jádro v moderních linuxových nastaveních je silně založeno na modulech, to znamená, že vlastní jádro (načtené při bootování do RAM) obsahuje pouze minimum funkcí, vše ostatní je zkompilováno jako moduly (zatížitelné za běhu). Aby to fungovalo i když např. zařízení nebo souborové systémy potřebné pro zavedení jsou moduly, initramfs
je načten s jádrem (jak název napovídá, jedná se o oblast RAM s jednoduchým souborovým systémem, připojeným při bootování). Tento dočasný souborový systém je připojen na /
a obsahuje spouštěcí programy a požadované moduly. Po spuštění na initramfs
je hotovo, Linux provede pivot_root(8)
, montáž skutečných /
a přehozením initramfs
obsah.
Pointa této složitosti je v tom, že např. distribuce může sestavit jednu kernel (minimální jádro a úplná sada modulů) a při instalaci jádra vytvořte initramfs
přizpůsobené hardwaru a nastavení cílového stroje. To vše je vyžadováno kvůli divoké rozmanitosti zařízení a konfigurací "Osobních počítačů".