Ja tu popisem troska iny sposob vymeny kernelu.
Ide o to ze samotny kernel je jeden subor + kernel moduly co je jeden adresar. snad este nalinkovane kernel headers
Zacneme tym ze si uz na vyzsie spominanej stranke
www.kernel.org stiahneme aktualnu najnovsiu alebo aku verziu kernelu potrebujeme.
vacsinou stiahneme subor linux-2.x.xx.tar.bz2
rozbalime pomocou programou bzip2 a tar
odporucam rozbaleny adresar linux-2.x.xx prekopirovat do adresara
/usr/src/
nasledne nalinkovat dany adresar ako adresar linux nasledovne
shell> ln -s /usr/src/linux-2.x.xx /usr/src/linux
Tymto sme dostali v adresari
/usr/src adresare linux-2.x.xx a adresar linux ktore su totozne.
Adresar linux sme nalinkovali koli niektorym neskorsim veciam, ak by sme napriklad chceli nainstalovat ati driver alebo nvidia driver, oni vacsinou hladaju zdrojove kody jadra prave v adresari
/usr/src/linux
takze vojdeme do adresar /usr/src/linux
shell> make clean odstrania sa prekompilovane binarky a dalsie subory ktore sa pri kompilacii vytvaraju
shell> make menuconfig alebo
shell> make xkonfig
menuconfig nam vytvori pekne menu ktore mozeme browsovat aj v konzole a xkonfig ak mame spustene Xka a nejake graficke prostredia vytvori nam menu len trosku grafickejsie
nie velmi ale trosku
Konfiguraciu kernelu nebudem opisovat je to pre zaciatocnika velmi zlozita vec najme ak nevie co 90 % veci tam znamena.
V zaklade snad len ak zaskrtavate nejaku moznost v kerneli moze byt :
[ ] - nezaskrtnuta
[M] - dana vec bude vytvore na ako modul
[*] - dana vec bude priamo skompilovana v kerneli
Nezabudajte ze niektore moznosti v kerneli maju svoje zavislosti..
Cize sa moze stat, ze niektore moznosti nenajdete kym nezaskrtnete niektore ine.
vyjdeme z konfiguracie spyta sa nas ci chceme ulozit dame ze "yes"
Kompilacia
Tu prichadza mensi rozdiel medzi kernelmi rady 2.4.x a 2.6.x
Kernel 2.4.x
shell> make dep
shell> make bzImage
shell> make modules
shell> make modules_install
Taak a chyba nam tam este "make install" tuto vec konkretne ja nepouzivam lebo nemam rad ked mi nieco saha automaticky do lila a do ostatnych veci.
Takze musime samotny kernel nakopirovat.
Kernel by sa mal nachadzat pri obycajnom PCcku (nie 64bit) v adresari
/usr/src/linux/arch/i386/boot
Tam sa nachadza subor bzImage a to je nas kernel. Ak mate inu architekturu tak v adresari "/usr/src/linux/arch" si najdete tu svoju a v nej uz adresar boot. Zvysok je rovnaky.
Moj AMD Turion je napriklad x86_64
skopirujeme si bzImage do adresara /boot a premenujeme ho na nieco co nam o tom povie nieco viac. napr.
shell> cp /usr/src/linux/arch/i386/boot/bzImage /boot/bz-2.4.33
takze v adresari /boot mame subor bz-2.4.33
Upravime Lilo tak ze pridame dalsi "zaznam", to preto aby sme sa k predoslemu kernelu mohli jednoducho vratit. Konfiguraciu lila si muste prejst sami je dost specificka pre kazdy pocitac. Idealne je cast ktoru mate nakonfigurovanu skopirovat a upravit len meno ktore sa zobrazuje pri boote a cestu k kernelu v nasom pripade k /boot/bz-2.4.33
shell> lilo
zapise sa do MBR nove lilo a uz len restart. Novy zaznam sme pridali preto, ze ked po boote noveho kernelu nam vyhlasi napriklad KERNEL PANIC tak proste restartujeme a v Bootovacom menu lila si vyberieme moznost ktora patri predchadzajucemu kernelu.
Priklad:
Linux je stary kernel
Linux-mosix je novy kernel, v mojom pripade s podporou mosixu
Windows to je taka vec
Kernel 2.6.xx
jediny rozdiel je:
Namiesto krokov :
shell> make dep
shell> make bzImage
shell> make modules
shell> make modules_install
staci len:
shell> make
shell> make modules_install
To je tak asi vsetko snad som na nic nezabudol, ak hej nestrielajte