Linux kernel je baza svakog Linux operativnog sistema. Razvija se i raste velikom brzinom. Svaka 2-3 mjesecca izlazi nova stabilna verzija. Zbog tog brzog ciklusa razvoja, mnogi napredni korisnici ažuriraju sami svoj kernel. Ipak, ovo nije jedini razlog zašto bi iko sam zalazio ovako duboko u svoj OS. Danas želim da se osvrnem na razloge iz kojih biste se možda odlučili na ovaj korak, kao i da vam objasnim jedan od jednostavnijih načina da kompajlirate svoj kernel.


DISCLAIMER: OVO JE MOJE LIČNO MIŠLJENJE. TUTORIJAL KOJI ĆETE NAĆI U OVOM TEKSTU JE NAČIN NA KOJI JA TO RADIM. NE GARANTUJEM VAM USPJEŠNU PROCEDURU. PODRŽAVAM DA PROČITATE OVAJ TEKST DA BISTE SE INFORMISALI, ALI KORAKE TITORIJALA SPROVODITE NA SOPSTVENU ODGOVORNOST.

Prednosti kompilacije kernela:

  • Bezbjednost. Novi kerneli izlaze sa bezbjednosnim ažuriranjima. U pitanju su ispravke različitih propusta iz prethodnih izdanja. Uglavnom to nije ništa dramatično, jer je Linux generalno bezbjedan.
  • Performanse. Kada kompajlirate kernel, kreirate ga iz izvornog koda specifično za svoj hardver. Za razliku od generičkih kernela, koji su manje-više univerzalni i dolaze ugrađeni u vašem OS-u, kerneli koje sami kompajlirate su optimizovani za hardver koji koristite. Verziju instaliranog kernela možete provjeriti izvršavanjem komande uname -r u Terminalu.

Kako kompajlirati vlastiti kernel:

Sljedeći metod je malo drugačiji od onoga što ćete inače naći. Ovdje ćemo uzeti izvorni kod, raspakovati ga, kompajlirati i potom zapakovati u nekoliko .deb paketa. Mana ovog metoda jeste ta što ove komande možemo primjeniti samo u Debianu i derivatima. To podrazumijeva: Ubuntu i Mint u svim varijantama, kao i većinu ostalih distribucija Linuxa. Koje tačno, provjerite u slici ispod. Ovaj metod možete primijeniti na bilo koju ditribuciju koja se na slici ,,grana” iz Debiana.

lintimeline2Tutorijal:

  • Prvo moramo pribaviti source code. To radimo sa stranice kernel.org. Najlakši način: otići na pomenutu stranicu i kliknuti veliko žuto dugme. To će automatski preuzeti zadnju stabilnu verziju kernela. Ispod toga imate dodatne linkove za tu verziju, kao i druga izdanja koja su još podržana. Trenutno je stabilna verzija 4.0.5, ali sam imao problema sa internetom na toj verziji, tako da koristim najnovije longterm izdanje, 3.18.16 i problema na mom Toshiba L50-B laptopu nema. Ako korisitite isti hardver, preporučujem da idete na 3.18.16.  Na forumima sam primijetio da mnogi imaju isti problem sa 4.0.5 kernelom. Ponudili su rješenje, ali kod mene nije funkcionisalo.
  • Kada ste preuzeli source code, poželjno je organizovati fajlove. Ključno jevda naglasim da će ovaj proces zauzeti oko 7GB prostora, kao i da će trajati bar 1.5h. Nazad na temi, generalna praksa za organizaciju je da u vašem home folderu napravite folder imena ,,kernel”. u njega prebacite source code i ekstraktujte ga.
  • Pakete potrebne za ovaj prooces instalirate sljedećom komandom:

sudo aptitude (ili apt-get) install libncurses5-dev gcc dpkg-dev

  •       Sljedeći korak je da konfigurišete kernel. U terminalu dođite do foldera ekstraktovanog kernela, pa pokrenite proces konfiguracije sljedećim komandama:
cd /kernel/linux[ovdje pritisnite Tab]
make menuconfig
  • Do sada bi pred vama trebao biti GUI za konfiguraciju kernela. Ovdje možete utvrditi koji paketi će biti aktivni i instalirani, koji neće, a koji će se aktivirati po potrebi. Ovo ne morate mijenjati. Možete samo odabrati opciju Save u dnu prozora, pa kad (i ako) vas vrati u GUI odabrati Exit.
  • Sljedeći korak je sama kompilacija. Ovaj korak najduže traje. U zavisnosti od hardvera koji koristite, ovo može potrajati od sata, do tri ili više. Na prosječnom hardveru će trajati oko 1.5h. Proces započinjete komandom:
make -j 5 KDEB_PKGVERSION=1.[ovdje upišite ime koje želite da date kernelu] deb-pkg
  • Kada izvršavanje prethodne komande (konačno)  završi, vač novi kernel je zapakovan u nekoliko .deb paketa. da ih instalirate, izvršite:
sudo dpkg -i ../linux*.deb
  • To je kraj procedure. Restartujte računar i trebali biste koristili novi kernel. Ako ga želite deinstalirati, izvršite:
sudo apt-get purge linux-image[broj verzije kernela] linux-image[broj verzije kernela]-dbg

To je sve što trebate uraditi da kompajlirate i instalirajte kernel.