Iako Debian, Ubuntu i slicne ‘binarne’ distribucije i nisu bas cest poligon za kompajliranje kernela, ponekad zaista imamo potrebu i za tim. Konkretno ja sam imao potrebu za ovim vec od kad se 2.6.29 poceo pojavljivati po raznim distribucijama. Iako mi kompajliranje kernela nije strano, do sad sam bio previse lijen da to isto uradim i na Debian-u. Ovaj put sam odlucio da to uradim.
U protekla 2 dana sam radio upgrade mog stable Debiana na onaj iz testing brancha. Squeeze je i vise nego odlican koliko mogu da zakljucim u ovih ~20ak sati koristenja. Problem koji sam imao sa mojom Intel video karticom postoji vec odavno. I to,zanimljivo, samo na novijim kernelima. Davno sam ja nasao rjesenje a ono je govorilo kako bi problemi trebali nestati sa 2.6.33 kernelom. Kako sam do sad bio previse lijen da to radim drzao sam se dobrog,starog i stabilog Lenny-a. No kako mi se Squeeze previse svidja odlucio sam da zelim novi kernel. Aktuelni stable kernel sa kernel.org je 2.6.34. U par linija ispod cu da ukratko objasnim sve potrebne radnje za uspjesno kompajliranje i instalaciju kernela na Debian based sistemima (ovo bi iskereno trebalo raditi i na Ubuntu itd.. ).
Naravno prije svega zelimo biti up to date sa Debian mirrorima:
apt-get update
Nakon toga instaliramo sve potrebne pakete potrebne za kompajliranje kernela:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
Zatim skinemo arhivu kernela sa kernel.org u /usr/src
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
Kernel arhivu raspakujemo i linkamo diektorij na /usr/src/linux
tar xjf linux-2.6.21.3.tar.bz2
ln -s linux-2.6.21.3 linux
Ono sto sam ja uradio jeste da sam koristio .config od trenutnog kernela (uz odredjene izmjene). Svako po svojim potrebama naravno moze da odabere ili ovu opciju ili jednostavno da sam ukljuci/iskljuci potrebne stvari
Kopiranje .config fajla trenutnog kernela radimo sa:
make clean && make mrproper
cp /boot/config-`uname -r` ./.config
Nakon sto smo ovo uradili pokrenemo menuconfig sa:
make menuconfig
Dobri stari meni menuconfiga je i vise nego poznat (bar za nekog ko je bar jednom kompajlirao kernel). Na brzinu sam ‘preletio’ kroz meni i primjetio sam neke promjene od npr 2.6.23 kad se isti vrtio na tada mom aktuelnom Gentoo-u
Kako sam vec spomenuo ja sam ucitao .config “starog” kernela kojeg smo kopirali u sam /usr/src/linux i kojeg ucitamo na samom dnu menuconfig menija
Nakon sto to uradimo, izadjemo iz menuconfig-a i na pitanje da li zelimo sacuvati promjene naravno odgovrimo pozitivno.
Ostalo je jos samo da ‘napravimo’ kernel a to radimo sa slijedece dvije komande:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-nicaze kernel_image kernel_headers
nicaze je neko ime koje mi je u trenutku palo na pamet. Ono ustvari oznacava verziju novonapravljenog kernela a i Zenica sad ima svoj kernel 
Sad mozete otici da rucate, usisate stan ili odgledate utakmicu. Na mom laptopu (Dual 1.7, 1GB RAM) bilo je potrebno skoro 2 sata da se sve build-a. Imajte u vidu da Debian,Ubuntu i sl. distribucije u svoj kernel ukljucuju podrsku sa skoro sve sto se krece, pa s toga i kompajliranje kernela uzme ovoliko vremena.
Nakon sto se ovo zavrsi u /usr/src bi trebali da imate 2 nova .deb fajla. Kod mene su oni nazvani:
linux-headers-2.6.34-nicaze_2.6.34-nicaze-10.00.Custom_i386.deb
linux-image-2.6.34-nicaze_2.6.34-nicaze-10.00.Custom_i386.deb
Sve sto je jos ostalo da uradimo jeste da iste instaliramo:
dpkg -i linux-image-2.6.34-nicaze_2.6.34-nicaze-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.34-nicaze_2.6.34-nicaze-10.00.Custom_i386.deb
Grub ce se ‘editovati’ sam,a onda restartujte i molite se
. Naravno u Grub meniju odaberite novi kernel,koji bi trebao biti na vrhu
#reboot
Nakon restarta bi trebali da vidite nesto popu ovoga:
root@squeeze:/usr/src# uname -r 2.6.34-nicaze
I upamtite: Backup glavu cuva 








Dobar tekst, nadam se da ce te postaknuti da cesce pises.
Poz,
Kemo