První číslo označuje hlavné release.
Druhé čislo, pokud je sudé tak znači stabilní verzi jádra, pokud
je liché, tak vývojovou verzi jádra.
Třetí číslo pak patchlevel jádra.
Např. Teď je poslední stabilní verze jádro 2.2.17 a posledni vývojová
verze 2.4.0-test9.
Aktuální informace o stavu jádra zjistíme např. příkazem
finger @ftp.kernel.org [zeus.kernel.org] The latest stable version of the Linux kernel is: 2.2.17 The latest beta version of the Linux kernel is: 2.4.0-test9 The latest prepatch (alpha) version *appears* to be: 2.4.0-test9/pre9
tar xvfz linux-2.2.16.tar.gzDalší možností je použít patch pro upgrade nižší verze na vyšší. Tj. pokud mame jádro verze 2.2.16 a chceme upgradovat na 2.2.17, stáhneme příslušný patch a použijeme jej
$ cd /usr/src/linux $ patch -p1 < patch-2.2.17Jádro je třeba před kompilací nejprve zkonfigurovat tj. vygenerovat soubor .config. Lze k tomu použít různé volby pro příkaz make jako např.
[Y/m/n/?] Označuje možné odpovědi - Yes - zakompilovat, Module - zakompilovat jako modul, No - nekompilovat , ? - Help
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)- v další konfiguraci budeme upozorňováni na vývojové/neúplné součásti jádra (Vhodné použít,např. pokud máme velmi rozšířenou síťovou kartu s čipem Realtek 8139).
Enable loadable module support (CONFIG_MODULES) [Y/n/?]- zapíná podporu modulů. Blíže viz. sekce Moduly.
Networking support (CONFIG_NET) [Y/n/?] Y- zejména nutné, pokud chceme provozovat pod linuxem připojení k síti :)
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (CONFIG_BLK_DEV_IDE) [Y/m/n/?]- nutná volba, pokud chceme pristupovat na (E)IDE disky.
Generic PCI bus-master DMA support (CONFIG_BLK_DEV_IDEDMA) [Y/n/?]- podpora (U)DMA pro při přístupu k diskům. Dále pak lze navolit typ našeho IDE chipsetu.
Packet socket (CONFIG_PACKET) [Y/m/n/?]- pokud bude třeba přistupovat na síťovou kartu přímo (např. tcpdump).
SCSI emulation support (CONFIG_BLK_DEV_IDESCSI) [N/y/m/?]- zapíná emulaci SCSI příkazů na IDE zařízení. Nutné alespoň jako modul pro IDE vypalovačky.
TCP/IP networking (CONFIG_INET) [Y/n/?]- pro přístup k internetu.
Network firewalls (CONFIG_FIREWALL) [N/y/?]- zapíná podporu filtrování paketů v jádře.
IP: kernel level autoconfiguration (CONFIG_IP_PNP) [N/y/?]- např. pro bezdiskové stanice. Síť se zkonfiguruje podle DHCP,BOOTP protokolu v dobe startu jádra.
SCSI support (CONFIG_SCSI) [Y/m/n/?]- pokud máme nějaké SCSI zařízení. Dále pak volíme druh SCSI řadiče atd.
Network device support (CONFIG_NETDEVICES) [Y/n/?]- pokud máme nějaké síťové zařízení (např. ethernetovou kartu)
Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?]- jeden z nejčastěji používaných systémů souborů v linuxu.
NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?]- možnost připojené NFS svazků z jiných počítačů.
SMB filesystem support (to mount WfW shares etc.) (CONFIG_SMB_FS) [N/y/m/?]- možnost připojení sdílených složek z Win9x/NT,Samba serverů.
Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?]- v případě "zatuhnutí" dává možnost provést zápis bufferů na disk, reboot počítače a další věci pomocí stisků různých kombinací kláves.
Po skončení konfigurace máme vygerenovaný soubor .config s naší konfigurací a můžeme přikročit ke kompilaci jádra. Bude třeba mít zkonfigurované prostředí pro překlad C-programů.
make dep - kontrola hlavičkových souborů, vyřešení závislostí
make clean - smaže zbytky po předchozích kompilacích
make bzImage (zImage)(zdisk) - bzImage nutno zadat pokud velikost jádra přesáhne 500 kB,
jinak zImage, případně zdisk, který vyrobí rovnou bootovací disketu.
make modules - zkompiluje moduly
make modules_install - instaluje moduly
Rychlost kompilace závisí na rychlosti počítače a množství součástí, které do jádra kompilujeme. V průměru trva okolo 5-10 minut na novějších strojích. Po skončení překladu máme v adresáři arch/i386/(b)zImage hotové jádro. Pokud použijeme moduly pak v /lib/modules/{číslo_jádra} jsou instalované nové moduly. Jádro pak překopírujeme na diskový oddíl, z něhož bootujeme (zpravidla připojený jako /boot). Pokud používáme zaváděcí program lilo, pak upravíme jeho konfigurační soubor (většinou je to /etc/lilo.conf), aby obsahoval novou sekci např:
image=/boot/vmlinuz-2.2.17 label=l17 root=/dev/hda6kde image je naše nové jádro, label je jeho označení a pro každou image musí být jiné, root označuje kořenový svazek ze kterého nové jádro bude dál startovat. Spustíme příkaz lilo. Lilo sídlí na disku v MBR (Master Boot Record). Problematika jeho koexistence s různými jinými zavaděči jiných operačních systémů je popsána v různých HOWTO dokumentech dostupných např. zde. Zbývá restartovat počítač, a v lilo promptu zvolit label našeho nového jádra.
Zbývá dodat, že postup zde popsaný není jediný a existuje spousta dalších způsobů jak jádro nabootovat, použít jiné bootloadery apod.