Linuxové jádro je životní silou všech linuxových operačních systémů včetně Ubuntu, CentOS a Fedory.
Z velké části nemusíte kompilovat jádro, protože se instaluje ve výchozím nastavení při instalaci operačního systému. Také, když je provedena kritická aktualizace jádra, můžete použít yum nebo apt-get k aktualizaci jádra na vašem systému Linux.
Můžete se však setkat s určitou situací, kdy kompilovat jádro ze zdrojového kódu. Následuje několik situací, kdy možná budete muset zkompilovat jádro na vašem systému Linux.
- Chcete-li povolit experimentální funkce, které nejsou součástí výchozího jádra.
- Chcete-li povolit podporu pro nový hardware, který není aktuálně podporován výchozím jádrem.
- Ladění jádra
- Nebo, abyste se dozvěděli, jak jádro funguje, možná budete chtít prozkoumat zdrojový kód jádra a zkompilovat jej sami.
V tomto tutoriálu vysvětlíme, jak kompilovat linuxové jádro ze zdrojového kódu.
Upozorňujeme také, že pokud chcete pouze zkompilovat ovladač, nemusíte kompilovat jádro. Potřebujete pouze balíček linux-headers jádra.
1. Stáhněte si nejnovější stabilní jádro
Prvním krokem je stažení nejnovějšího stabilního jádra z kernel.org.
# cd /usr/src/ # wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.3.tar.xz
2. Rozbalte zdrojový kód jádra
Druhým krokem je rozbalit zdrojový soubor jádra pro kompilaci.
# tar -xvJf linux-3.9.3.tar.xz
3. Nakonfigurujte jádro
Jádro obsahuje téměř 3000 konfiguračních voleb. Aby bylo jádro používané většinou lidí na většině hardwaru, bude linuxové distro jako Ubuntu, Fedora, Debian, RedHat, CentOS atd. obecně zahrnovat podporu pro nejběžnější hardware. Můžete převzít jakoukoli konfiguraci z distribuce a navíc můžete přidat svou vlastní konfiguraci, nebo můžete nakonfigurovat jádro od začátku, nebo můžete použít výchozí konfiguraci, kterou poskytuje jádro.
# cd linux-3.9.3 # make menuconfig
Make menuconfig spustí textové uživatelské rozhraní s výchozími možnostmi konfigurace, jak je znázorněno na obrázku. Aby tento příkaz fungoval, měli byste mít nainstalované balíčky „libncurses a libncurses-devel“.
Použijeme výchozí konfiguraci poskytovanou jádrem. Vyberte tedy „Save“ a uložte konfiguraci pod názvem souboru „.config“.
Následuje ukázka souboru „.config“:
CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y
4. Zkompilujte linuxové jádro
Zkompilujte hlavní jádro:
# make
Zkompilujte moduly jádra:
# make modules
Nainstalujte moduly jádra:
# make modules_install
V tomto okamžiku byste měli ve vašem systému vidět adresář s názvem /lib/modules/3.9.3/.
5. Nainstalujte nové jádro
Nainstalujte nové jádro do systému:
# make install
Příkaz make install vytvoří v adresáři /boot následující soubory.
- vmlinuz-3.9.3 – skutečné jádro
- System.map-3.9.3 – Symboly exportované jádrem
- initrd.img-3.9.3 – obraz initrd je dočasný kořenový souborový systém používaný během procesu spouštění
- config-3.9.3 – konfigurační soubor jádra
Příkaz „make install“ také ve výchozím nastavení aktualizuje soubor grub.cfg. Nemusíme tedy ručně upravovat soubor grub.cfg.
6. Spusťte Linux na nové jádro
Chcete-li použít nové jádro, které jste právě zkompilovali, restartujte systém.
# reboot
Protože v grub.cfg je nové jádro přidáno jako výchozí zaváděcí systém, systém se zavede z nového jádra. Pro případ, že byste měli problémy s novým jádrem, můžete během bootování vybrat staré jádro z nabídky grub a můžete systém používat jako obvykle.
Jakmile je systém spuštěn, použijte příkaz uname k ověření, že je nainstalována nová verze linuxového jádra.
$ uname -r 3.9.3