Jádro
Je to "Jádro" systému :), nastavují se zde ovladače zařízení (Woknoidně řečeno).
tzn, pokud nemám v jádře ovladač na některé zařízení, přidám ho, zkompiluju jádro (pokud ovladač přidám jako modul, tak zkompiluju modul) a je to :)
Přecházíme na nové jádro
Může se Vám stát, že potřebujete přejít na nové jádro ať už z důvodu podpory nového hw, nebo protože chcete být IN :)
Nastává zde otázka, musím projít všechny položky a konfigurovat jádro celé znovu? je to práce tak na 30 minut... Nemusíte! (naštěstí).
Příklad:
Používám jádro 2.6.7 a nové na které chci přejít je 2.6.10. Stáhnu ho (viz níže), nakopíruji ho do /usr/src/
cp linux-2.6.10.tar.gz /usr/src/
rozbalím cd /usr/src/
tar -xzf linux-2.6.10.tar.gz
zkopíruji konfigurační soubor
cd /usr/src/linux cp .config /usr/src/linux-2.6.10
a spustím make oldconfig, který vyhledá změny v novém jádře a zeptá se jaké hodnoty pro tyto změny nastavit.
Vypadá to asi takto:
Power Management Debug Support (PM_DEBUG) [N/y/?] (NEW)
Přednastavená hodnota je N (přednastavená je velkým písmenem) označení NEW je protože tato položka ve starém jádře není. Pokud zadáte otazník, dostanete krátký help co vlastně má tato položka nastarosti:
This option enables verbose debugging support in the Power Management
code. This is helpful when debugging and reporting various PM bugs,
like suspend support.
Stažení a příprava
Jádro lze stáhnout na www.kernel.org
Poslední jádro (v době kdy to píši) je 2.6.10 ke stažení je zde a má cca 44MB
Jádro je třeba stáhnout, rozbalit do /usr/src/linux-2.6.10 (podle verze) a udělat symlink na nové jádro tj:
cd /usr/src ln -s linux-2.6.10 linux
Nyní své jádro najdete v adresáři /usr/src/linux/
Kompilace jádra
"vlezte" do adresáře s novým jádrem,
cd /usr/src/linux
a napište:
make menuconfig
V zobrazeném menu si můžete vybrat co vše se má kompilovat do jádra, případně co vše se má kompilovat v podobě modulů.
Položky označené * se kompilují přímo do jádra, položky označené M se kompilují jako moduly.
Příklad: potřebuji ovladač pro síťovou kartu s čipem RTL8139, ten najdete v:
Devide drivers --> Networking support --> Ethernet (10 or 100 Mbit) --> RealTek RTL-8139 PCI Fast Ethernet Adapter support.
Jakmile skončíte s výběrem, tak vyskákejte ven (pomocí ESC) a uložte konfiguraci.
Konfigurace se uloží do souboru .config v adresáři /usr/src/linux
Nyní budeme kompilovat jádro:
make bzImage
Po skončení je jádro uloženo jako soubor bzImage v adresáři /usr/src/linux/arch/architektura/boot/
(např :/usr/src/linux-2.6.10/arch/i386/boot/bzImage)
Přeložíme moduly:
make modulesmake modules_install
Moduly se uloží do /lib/modules/verze_jádra/
Nakopírujeme nové jádro do adresáře boot pod novým jménem:
cd /usr/src/linux-2.6.10/arch/i386/boot/ cp bzImage /boot/bzImageNEW
Úprava Grubu
Nyní ještě musíme upravit spouštěč grub aby se nové jádro objevilo v menu.
V adresáři /boot/grub/ najdete soubor grub.conf ten je třeba pozměnit, resp přidat položku:
title Debian-NEW
root (hd0,1)
kernel /boot/bzImageNEW ro root=/dev/hda2
Přičemž title je jméno nové položky menu, root (hd0,1) označuje nultý hdd a první partition (protože na nulté je u mě jiný OS), řádek začínající kernel vypovídá o umístění nového kernelu.
Nepoužívám Grub ale Lilo
Je nutné editovat soubor /etc/lilo.conf a přidat následující:
image=/boot/bzImageNEW
label=NoveJadro
read-only
root=/dev/hda2
Startovací partition tj položku root=/dev/hda2 zjistíte pomocí příkazu: df /boot
Změny uložte pomocí
./lilo
Konečná fáze
Pokud jste přidávali jenom modul, nemusíte kvůli tomu kompilovat jádro a upravovat menu, ani rebootovat, stačí vybrat modul, zkompilovat moduly a nechat je nakopírovat příkazem make modules_install na správné místo.
nový modul zavedete příkazem modprobe jméno_modulu tj: modprobe 8139too u mé síťové karty.
Pokud jste modifikovali položku s * tak je nutné rebootovat, pokud je vše ok a vyberete novou položku, měli byste nabootovat nové jádro i s novým ovladačem. Ověření verze jádra je možné pomocí příkazu uname -r
Pokud nové jádro nefunguje, máte vždy možnost se vrátit ke starému...
Hodně štestí...
Komentáře
kernel v debianu
co to tady delate?! :(
vzdyt debian si s tin tak hezky poradil: http://www.us.debian.org/releases/stable/i386/ch08s05.html.cs
ah jo :'(
kernel v debianu
Vyborne, konecne nekdo poukazal na to ze to jde i lepe!