Konfigurace linuxového jádra

Ivo Kočvara, <xkocvara@fi.muni.cz>

Obsah

  1. Obecné informace o konfiguraci jádra
  2. Důležité a zajímavé volby
  3. Kompilace a instalace jádra

Obecné informace o konfiguraci jádra

Zdrojový kód

Zdrojový kód jádra Linuxu je na adrese
www.kernel.org. Samozřejmě se dá stáhnout i z fakultního ftp serveru. Jádro je v souboru linux-x.y.z.tar.gz, kde x.y.z je jeho verze. Pokud je y liché číslo, jedná se o vývojovou řadu (2.1.x, 2.3.x), pokud je sudé, jde o stabilní verzi (2.0.x, 2.2.x, 2.4.x). Zdrojový kód se většinou rozbalí do adresáře /usr/src/linux.

Všechny volby a vlastnosti popsané níže se týkají verze 2.4.2.

Konfigurační skripty

Konfigurační skript se spustí příkazem make config. Skript se postupně ptá na jednotlivé volby. Jeho nevýhodou je, že pokud se spletete, nemůžete se vrátit a chybu napravit. Příjemnější alternativou je skript využívající menu. Spustí se příkazem make menuconfig, případně je k dispozici i verze pro X-Windows make xconfig. První varianta používá knihovnu ncurses a nabízí menu v textovém režimu, druhá vyžaduje knihovnu Tk.

Na jednotlivé konfigurační otázky se odpovídá obvykle 'y' (yes) nebo 'n' (no). Ovladače různých zařízení mají typicky ještě volbu 'm' (module, maybe). Ta znamená, se se ovladač nemá zakompilovat přímo do jádra, ale jako samostatný modul. U každé položky se navíc po stisku klávesy '?' vypíše nápověda, která obsahuje podrobnější popis konfigurační volby a odkaz na další dokumentaci.

Podrobná dokumentace k ovladačům a k vlastnostem jádra je v adresáři Documentation.

Konfigurace je uložena do souboru .config.

Moduly

Moduly jsou kusy kódu, který není zakompilován přímo do jádra, ale nahrává se do paměti až v okamžiku, kdy je to třeba. Když už ale daný potřeba není, lze jej zase z paměti odtranit. Používáním modulů se šetří paměť a lze tak také efektivněji vyvíjet různé ovladače.

Pro správnou funkci musí být nainstalován balík modutils, konfigurace modulů je v /etc/modules.conf.

Další možnosti konfigurace

Některé vlastnosti jádra jdou ovlivnit i po kompilaci, tedy při bootování nebo dokonce za běhu. Například konfigurace modulů je v souboru /etc/modules.conf. Jádru lze také předat parametry na příkazové řádce. Jejich podrobný popis je v Documentation/kernel-parms.txt. Za běhu lze potom některé vlasnosti měnit pomocí programu sysctl a jinými programy (grafický mód framebufferu, tabulku znaků, nastavení sítě, ...).

Důležité a zajímavé volby


Kompilace a instalace jádra

Kompilace

Po dokončení konfigurace se jádro musí přeložit. Všechny programy nutné k překladu a běhu jádra jsou uvedeny v souboru Documentation/Changes. Vlastní kompilace se provede příkazy:
make dep
make bzImage
make modules
make modules_install

Jádro (zabalené, samorozbalovací) se pak nachází v souboru arch/i386/boot/bzImage (pro architekturu i386), moduly jsou nainstalovány v adresáři /lib/modules/x.y.z/, kde x.y.z je verze Linuxu.

Instalace

Nakonec je třeba nastavit nějaký bootovací manažer, který nové jádro při bootování zavede (např. LILO, nebo zavaděč z DOSU loadlin).

Postup pro LILO (LInux LOader):

Více o programu LILO viz man lilo, man lilo.conf, protože já LILO nepoužívám.