Linuxové jádro
Z Wikiknih
Obsah |
[editovat] 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
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
[editovat] Konfigurace jádra
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.
[editovat] Kompilace jádra
[editovat] Jádro verze 2.4
$make dep && make bzImage modules modules_install
[editovat] Jádro verze 2.6
$make && make modules_install
Na Debianu lze přímo zkompilovat balíček takto
$fakeroot make-kpkg --revision=revize.1.0 kernel_image
[editovat] Nástroje pro kompilaci jádra
[editovat] module-init-tools
[editovat] initrd-tools
[editovat] procps
[editovat] Instalace jádra
# 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
[editovat] Vytvoření ramdisku
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>