cd /usr/src ftp ftp.kernel.org anonymous Login@Pocitac.Domena.cz cd /pub/linux/kernel/v2.5 binary get linux-2.5.5.tar.gz bye
Potom jádro rozbalíme
tar xvzf linux-2.5.5.tar.gzJeště před spuštěním kompilace zkontrolujeme, jestli jsou správně nastaveny symbolické odkazy v adresáři /usr/include:
ls -la asm linux net scsimělo by se zobrazit toto:
lrwxrwxrwx 1 root root 26 Mar 5 01:51 asm -> /usr/src/linux/include/asm lrwxrwxrwx 1 root root 28 Mar 5 01:51 linux -> /usr/src/linux/include/linux lrwxrwxrwx 1 root root 26 Mar 5 01:44 net -> /usr/src/linux/include/net lrwxrwxrwx 1 root root 27 Mar 5 01:51 scsi -> /usr/src/linux/include/scsiPokud tyto odkazy neexistují, je potřeba odkazy v adresáři /usr/include vytvořit. Předtím je nutné stávající adresáře smazat(nebo lépe přejmenovat):
cd /usr/include rm -rf asm linux net scsi ln -s /usr/src/linux/include/asm asm ln -s /usr/src/linux/include/linux linux ln -s /usr/src/linux/include/net net ln -s /usr/src/linux/include/scsi scsiDále se přesvědčíme, jestli v adresáři /usr/src existuje odkaz "linux" na adresář se zdrojovým kódem poslední verze jádra.
ls -la /usr/srcMěli bychom dostat přibližně takovýto výstup:
lrwxrwxrwx 1 root root 12 Dec 14 13:14 linux -> linux-x.x.xxPokud takovýto odkaz neexistuje vytvoříme ho:
cd /usr/src ln -s /usr/src/linux-x.x.xx linuxPoslední věcí před samotnou konfigurací je záloha starého jádra. Pro jistotu je lepší si staré(funkční) jádro nechat v záloze. Pro tento případ si můžeme vyeditovat /etc/lilo.conf a přidat si tam možnost bootovaní také starého jádra. Úprava lilo.conf viz. níže.
mv /boot/vmlinuz-x.x.x /boot/vmlinuz.oldPokud chcete kompilovat jádro stejné verze jakou zrovna používáte, pak nezapomeňte přejmenovat adresář, kde jsou uloženy přeložené moduly. Ten se nachází v /lib/modules/číslo_verze_jádra.
mv /lib/modules/číslo_verze_jádra /lib/modules/číslo_verze_jádra.old
/usr/src/linux-2.5.5/Jádro můžeme konfigurovat 3 způsoby:
Kernel math emulation. Emulace matematického koprocesoru (ano i majitelé letitých 386SX si mohou nainstalovat linux).
Kernel support. Podporovány mohou být dva formáty spustitelných souboru, a.out a ELF. Je možné používat obojí.
Processor type. Volba typu procesoru a věcí týkajících se procesoru(SMP, math emulation...).
Networking Options. Nastavení sítových protokolů a jejich vlastností.
SCSI Support. Podpora SCSI zařízení. Takzvané high level ovladače slouží k řízení jednotlivých tríd zarízení (disk, páska, CD-ROM). Potom je třeba zvolit low level ovladač pro váš konkrétní SCSI řadic. SCSI support je důležitý, i když nemáte žádné SCSI zařítení např. pro CD-R mechaniku EIDE.
Filesystems. Nastavení podporovaných souborových systémů. Z nejznámějších:
modprobe název_modulu případné_parametryTento příkaz také využívá parametry nastavené v konfiguračním souboru /etc/modules.conf Umí si sám najít, které další moduly jsou případně pro činnost požadovaného modulu nutné a natáhne je. Pokud má korektně fungovat, je nutné před prvním použitím vytvořit zadáním příkazu
/sbin/depmod -aseznam závislostí mezi moduly. Depmod vytváří soubor závislostí /lib/modules/x.x.xx/modules.dep. Tento soubor má podobnou strukturu jako Makefile, obsahuje závislosti modulů, které se nacházejí v aktuálním adresáři. Modprobe pak s tím to souborem pracuje, když ho voláme. Většina distribucí tento příkaz spouští při každém startu. Další možností je příkaz insmod, který dokáže vložit modul o něco "agresivněji" než modprobe. Modprobe tento příkaz volá pro natažení modulu po kontrole verze a závislostí.
rmmod jméno_moduluPokud jméno není známé, nebo chceme vědět jaké moduly jádro aktuálně používá, zadáme příkaz
lsmod
make dep(zjistí závislosti zdrojových souborů a stanoví pořadí kompilace) a
make clean(odstranění veškerých dříve překompilovaných objektových souborů). Místo make clean můžeme také spustit
make mrproper, který kromě předkompilovaných souborů smaže také nastavení konfigurace jádra. Samotná kompilace se spouští príkazem
make bzImage"z" v názvu znamená, že jádro je kompresováno gzipem, "b" znamená, že jádro se "rozbaluje" do high memory, tzn. do oblastni >1MB(obyčejně se rozbaluje do low memory, tzn. >640kB). Toho využijeme např. při obzvlášt velkém jádru. Rozdíl v rychlosti u bzImage a zImage neexistuje. Make bzImage uloží výsledné jádro do souboru arch/i386/boot/bzImage.
make modulesNásledně moduly nainstalujeme příkazem:
make modules_installModuly se instalují do adresáře /lib/modules/verze_jádra. Upravíme soubor /etc/lilo.conf, konkrétne řádek "image = /cesta k jádru" musí ukazovat na správný soubor. Potom se spustí příkaz /sbin/lilo k updatování nastavení zavaděče lilo.