1. Uvod
Da bi na početku uopće shvatili što znači nadogradnja Linux kernela moramo s upoznati sa značenjem riječi “Kernel”. Dakle, kao što i sam naziv kaže, kernel je jezgra ili osnova operativnog sustava. Svi operativni sustavi imaju svoj kernel, pa bili to Windowsi, Macov OS ili Linux. Za kernel možemo reći da je najniži nivo nekog operativnog sustava koji je zadužen za ispravan rad i daljnje povezivanje hardware-a i software-a. On upravlja radnim procesima memorije, CPU-a, diskova, grafičke kartice i ostalog hardware-a koji se nalazi u nekom PC-ju, te omogućava ostalim dijelovima OS-a i aplikacijama da isti koriste. O njegovoj stabilnosti direktno ovisi i stabilnost ostalog dijela operativnog sustava.
Kako je svaka distribucija Linuxa skup koji se sastoji od Linux kernela na koji je nadodana ostala programska podrška kao što su razni deamoni (CUPS, SANE, NFS, SAMBA), pa X-server za prikaz sve grafike koju vidite na ekranu, pa GNOME ili KDE i kako se unutar distribucije sve može izmjeniti prema vlastitim ukusima. Možete promijeniti GNOME i KDE, možete ukloniti X-e i raditi samo u komandnoj liniji, možete ukloniti deamone koji vam ne trebaju i nepotrebno troše resurse (npr. ukloniti SANE ako nemate scanner). Na isti ovaj način možete promijeniti i Kernel koji je došao sa Linux distribucijom koju koristite. Ne, ne možete ga ukloniti jer onda Linux OS više neće raditi, ali ga možete zamijeniti za noviju verziju ili ga izmjeniti prema vlastitim potrebama.
Članak je namijenjen korisnicima Debian baziranih distribucija.
Moramo reći da cijeli postupak i nije namjenjen novim korisnicima koji se u Linuxu još ne snalaze.
Cijeli taj postupak zove se Nadogradja Kernela i sastoji se od četiri glavna koraka:
Priprema
Download (pribavljanje) potrebnih alata za nadogradnju, kao download željenog Kernela (u obliku zapakiranog source koda) sa interneta, raspakiravanje u direktorije
Konfiguriranje
Prilagođavanje Kernela vlastitim potrebama preko programa za konfiguriranje
Kompajliranje (izgradnja) kernela
Postupak pretvorbe source koda u izvršni kod Kernela i stvaranje instalacijskih datoteka (paketa)
Instaliranje novog Kernela
Instalacija paketa dobivenih u koraku 3.
No, prije nego što krenemo sa radom, par riječi zašto "da" i zašto "ne" nadograditi Kernel.
Zašto "da"
Ako je izašao novi kernel koji rješava neki bug ili koji pak muči vaše računalo
Ako je izašao novi kernel koji ima nove drivere za vaš hardware
Ako želite optimizirati kernel tako da bude prilagođeniji vašem računalu i ne troši bespotrebne resurse stroja.
Zašto "ne"
Ako prilikom konfiguriranja kernela isključite važne opcije računalo neće raditi (najvjerojatnije se neće niti bootati)
Ako koristite tzv. "zatvorene" drivere (nisu dio kernela) za hardware (najčešće su to driveri za video kartice) onda će te i njih morati ponovo instalirati jer ti moduli neće biti kompatibilni sa novim kernelom.
U pravilu, ako ste uobičajeni korisnik koji je zadovoljan sa radom svog Linux sustava i sav hardware mu radi normalno, nema potrebe za nadogradnjom kernela, jer optimizacijom istog za posebno svoj procesor neće dobiti nešto posebno na brzini rada stroja.
No, ako imate probleme opisane pod "Zašto da" ili želite eksperimentirati sa opcijama kernela onda – samo naprijed, ovaj tekst je za vas!
I na kraju ovog uvoda da napomenemo kako ovdje opisanom metodom nadogradnje kernela ne možete napraviti štetu na svom računalu niti oštetiti operativni sustav jer stari kernel ostaje instaliran i vi u GRUB meniju uvijek možete odabrati boot sa starim, provjereneim kernelom.
S toga, krenimo redom.
2. Priprema
Download (pribavljanje) potrebnih alata za nadogradnju, kao download željenog Kernela (u obliku zapakiranog source koda) sa interneta, raspakiravanje u direktorije.
Naravno, pripremite dovoljno slobodnog prostora na vašem disku. Trebati će vam bar 3,5 GB slobodnog prostora i pripremite dovoljno slobodnog vremena. Cijeli postupak kompajliranja može potrajati satima. Za usporedbu AMD mašina sa Athlonom 3500+, 2 GB RAM-a kernel kompajlira 1 sat i 10 minuta.
Kao prvi korak potrebno je instalirati sve potrebno da se kernel može kompajlirati:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev
Sade ćemo se prebaciti u direktorij koji sadrži izvorne datoteke novog kernela
cd /usr/src
Dajemo si root ovlaštenja:
sudo -s
napomena: sa root ovlaštenjima biti oprezan i ne raditi ništa osim ovih naredbi
Skinemo kernel s interneta i odpakiramo ga. Kerneli se skidaju sa internet adrese http://kernel.org/pub/linux/kernel/v2.6/ zapamtite koje je ime verzije kernela kako bi ispravno napisali linije koje slijede (u našem primjeru služimo se kernelom 2.6.24):
wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 && tar -xvjf linux-2.6.24.tar.bz2
Brišemo link prema linux direktoriju, kreiramo novi link prema novom kernelu i prebacujemo se u Linux direktorij
rm -rf linux && ln -s /usr/src/linux-2.6.24 linux && cd /usr/src/linux
3. Konfiguriranje kernela
Prilagođavanje Kernela vlastitim potrebama preko programa za konfiguriranje. Cijeli postupak konfiguriranja kernela ivest ćemo preko GUI konfiguratora. Pa krenimo:
make xconfig
Malo pričekamo i na ekranu se pojavi ovakav prozor, te na njemu kliknemo na ikonu za učitavanje:



Također preko xconfig-a možemo odrediti koji dijelovi kernela će se kompajlirati kao dio samog kernela, a koji kao odvojeni dijelovi (moduli) koje možemo jednostavno stavljati u ili van pogona (naredba modprobe), bez potrebe za ponovnim prekompajliranjem kernela. To se određuje tako da klikanjem na određenu opciju mijenjamo ikonu ispred teksta. Kvačica – znači da će se taj dio kompajlirati kao sastavni dio kernela; Točkica – znači da će se dio kompajlirati kao odvojeni dio (modul); Prazni kvadratić – znači da se taj dio neće uopće kompajlirati i neće ga biti u sastavu kernela.


Ovime smo završili konfiguriranje kernela i možemo prijeći na njegovo kompajliranje (izgradnju)
4. Kompajliranje (izgradnja) kernela:
Postupak pretvorbe source koda u izvršni kod Kernela i stvaranje instalacijskih datoteka (paketa).
make-kpkg clean
make-kpkg --initrd --revision=386 kernel_image kernel_headers modules_image
Napomena: kod reveision=386 možete staviti nešto svoje prema čemu ćete prepoznati kernel,
npr. revision=368mojKernelVer1, znak “-” je zabranjen.
Ovo je dio koji najdulje traje, ovisno o snazi računala, od 1 pa do 4 sata. Kao rezultat dobivaju se dvije .DEB datoteke. Jedna u svom nazivu nosi riječ "image" i označava sam kernel, a druga nosi riječ "headers" i radi se o headerima iz kernela koji vam trebaju ako mislite kasnije kompajlirati neke module kao što su video, network i slični driveri.
5. Instalacija izgrađenih .DEB datoteka
cd .. && dpkg -i linux*2.6.24*.deb
U imenu zamjenite broj verzije iz našeg primjera sa onom verzijom kernela koju ste kompajlirali. Nakon toga vaš novi kernel je instaliran u operativni sustav i da bi ga počeli koristiti trebate restartati računalo. Kada se pojavi GRUB meni na početku boot-a, u meniju odaberite novi kernel i to je to.
U slučaju da se sistem ne uspije podići sa novim kernelom, iz razloga što ste nešto nedozvoljeno učinili prilikom konfiguracije, ponovo resetirajte računalo i u GRUB meniju odaberite stari kernel, te učinite korak 6. i ponovite korake 3, 4 i 5, te prilikom koraka 3. ispravite greške u koniguriranju.
6. Deinstalacija novog kernela
U koliko iz određenih razloga ne želite koristiti novi kernel i postao vam je suvišan unutar vašeg OS-a, moguće ga je jednostavno odinstalirati preko npr. Synaptic-a ili apt-get-a sa komandne linije.

Dovoljno je pronaći željeni paket u listi instaliranih programa i napraviti Remove. Ova će opcija izbaciti novi kernel i iz GRUB menija, te će te tako PC vratiti u prvobitno stanje.
Autori: Kaiwan & Grof