GNU/Linux >> Znalost Linux >  >> Linux

Jak může být linuxové jádro tak malé?

Ano. Pokud je odstraníte (zkompilujete/vytvoříte z modulů pouze věci, které potřebujete), zkomprimujete jádro (optimalizujte podle velikosti)... výsledkem bude tak malé jádro. Můžete udělat ještě menší, pro cílený systém. Stejně jako znám svůj počítač, znám své věci. Takže si jen zkompiluji, co potřebuji. Jako moje vlastní SATA ovladače, ovladač pro USB atd. Nic jiného. Žádná webová kamera, žádné staré IDE disky, nic.

Také:Ty větší, se kterými se setkáte, jsou CELÉ jádro (které člověk nikdy nemusí používat). I ty desktopové obsahují (většinou jako moduly) HODNĚ nepotřebných věcí. Ale nováčci očekávají, že každý druh hardwaru, který připojí, bude fungovat.

(Všimněte si, že moduly se nenačtou, dokud nebudou potřeba. Existují 3 stavy:
[ ] - Nebudou zkompilovány, nebudou součástí vašeho jádra.
[M] - Bude sestaven jako modul.
(Můžete to provést modprobe, nebo to váš systém automaticky načte, když to bude potřeba.
Závisí na systému, uživatelské zemi.)
[X] - Bude zkompilován do jádra A bude přítomen - vždy.

Distribuce s malým jádrem:

  • Tiny Core Linux, Micro Core Linux, 12 MB Linux GUI Desktop, Live, šetrný, rozšiřitelný
  • Domovská stránka komunity Puppy Linux – Začínáme

První linuxové distribuce, jako Tom's Root-Boot, MuLinux, Diet-router, (nyní zaniklý) LOAF a mnoho dalších, které nyní odešly, všechny obsahují fungující linuxový systém na jedné nebo dvou 1,44 MB disketách.

Linuxové jádro se rozrostlo, ale je modulární:moduly jádra se načítají podle potřeby. Stále je tedy možné vytvořit distribuci Linuxu s velmi malým půdorysem.

Viz:Průvodce laděním velikosti jádra - eLinux.org

Pokud si přečtete Linux_tiny.pdf, uvidíte toto

  • historické jádro 0.99pl15:Slackware 1.1.2, 1994:301K
  • Fedora Core 2:1,2 milionu
  • SuSE 9.1:1,5 milionu
  • Testovací konfigurace 2.6.5-tiny1:IDE, ext2, TCP, NIC:363 kB

Výchozí konfigurace jádra je nakonfigurována tak, aby podporovala co nejvíce hardwaru. Neodstraněné jádro s výchozí konfigurací mělo za následek velikost 1897996 kB (včetně jádra + modulů). Při odstranění mnoha nepotřebných ovladačů a doplňků (proč bych potřeboval modul HP, když vlastním notebook Clevo) to vedlo k velikosti 892892 kB, což je zmenšení velikosti o 53 % ve srovnání se základním jádrem.

Při instalaci modulů jádra připojte INSTALL_MOD_STRIP=1 volba. Tím se odstraní všechny ladicí symboly a velikost se mi zmenší o 92 % (z 892892 kB na 69356 kB). Všimněte si, že to ovlivní pouze moduly, které se mají nainstalovat, a nikoli samotné jádro (vmlinuz):

make INSTALL_MOD_STRIP=1 modules_install

Z Documentation/kbuild/kbuild.txt:

INSTALL_MOD_STRIP
--------------------------------------------------
INSTALL_MOD_STRIP, if defined, will cause modules to be
stripped after they are installed.  If INSTALL_MOD_STRIP is '1', then
the default option --strip-debug will be used.  Otherwise,
INSTALL_MOD_STRIP value will be used as the options to the strip command.

Linux
  1. Linux – Jak správně znovu načíst modul jádra?

  2. Jak mohu symbolicky propojit soubor v Linuxu?

  3. Jak znovu načíst upravené moduly jádra

  1. Moduly linuxového jádra, bez kterých nemůžeme žít

  2. Jak načíst moduly jádra Linuxu z kódu C?

  3. Jak mohu obnovit zastavenou úlohu v Linuxu?

  1. Jak nainstalovat moduly Perl na Linux

  2. Jak upgradovat jádro na ploše Linuxu

  3. Jak zkontrolovat verzi jádra v Linuxu