Linux/Linuxové jádro

Postup kompilace linuxového jádra

editovat

Nástroje pro kompilaci jádra

editovat

fakeroot

editovat

ncurses-dev

editovat

Příprava zdrojového kódu

editovat

Zdrojový kód linuxového jádra je obvyklou součástí distribuce, zpravidla však obsahuje zdrojový kód již upravený. Čisté linuxové jádro se nazývá vanilla a je ke stažení prostřednictvím internetu z adresy http://www.kernel.org

Pokud již máte staženou některou ze starších verzí jádra, pak není nezbytně nutné stahovat celý zdroják znovu, ale stačí pouze stáhnout příslušný patch, jehož aplikací získáte zdrojový kód vámi požadované verze jádra.

Aplikace patche - záplaty

Konfigurace jádra

editovat

Než se pustíte do vlastní konfigurace jádra, je nutné zjistit, pro jaký hardware bude jádro určeno. Jak na to, se můžete dočíst v kapitole Linuxové nástroje pro detekci hardware.

Jádro lze před kompilaci konfigurovat několika způsoby. Nejpohodlnější je použít k tomu grafické nástroje.

  • make menuconfig využívá knihovny ncurses, běží v textovém režimu s docela pohodlným menu a nápovědou
  • make xconfig grafické, využívá QT knihovny
  • make gconfig grafické, využívá GTK knihovny

Také lze nakonfigurovat jádro na příkazovém řádku pomoci make oldconfig i ruční editaci souboru.

Kompilace jádra

editovat

Jádro verze 2.4

editovat
$make dep && make bzImage modules modules_install

Jádro verze 2.6

editovat
$make && make modules_install

Na Debianu lze přímo zkompilovat balíček takto

$fakeroot make-kpkg --revision=revize.1.0 kernel_image

Nástroje pro kompilaci jádra

editovat

module-init-tools

editovat

initrd-tools

editovat

Instalace jádra

editovat
# mount /boot
# cp arch/i386/boot/bzImage /boot/kernel-2.4.25-gentoo
# cp System.map /boot/System.map-2.4.25-gentoo
# cp .config /boot/config-2.4.25-gentoo

cd ../ dpkg -i kernel-image-2.6.8.1_revize.1.0_i386.deb

Vytvoření ramdisku

editovat

Ramdisk slouží zejména k načtení modulů jádra, i když ještě není připojen žádný souborový systém.

#cd /boot/
#mkinitrd -o initrd.img-2.6.8.1 2.6.8.1

nejde-li to po dobrém, zpracujte to po zlém..

#mkinitrd -f /boot/initrd-<kernel version>.img /lib/<kernelname>

Nastavení zavaděče

editovat