GNU/Linux >> Znalost Linux >  >> Linux

Je při bootování načteno celé jádro do paměti?

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čů".


Linux
  1. Linuxové jádro:5 nejlepších inovací

  2. Linux – Jak nabootovat Puppy Linux Slacko do příkazového řádku?

  3. Je možné zavést linuxové jádro bez vytvoření obrazu initrd?

  1. mmap:bude mapovaný soubor okamžitě načten do paměti?

  2. Změna velikosti spouštěcího oddílu

  3. Při bootování přeskočte modul jádra

  1. Jak zakážu přihlašování jádra do deníku systemd?

  2. Jaký je rozdíl mezi ovladači jádra a moduly jádra?

  3. Kolik RAM používá jádro?