Objavljen kernel 3.12 - Instalirajte i prevedite u Debian Linux


Jedno od najvećih privlačenja korištenja Linuxa je lako prilagođavanje, a jedna od najzabavnijih stvari za prilagodbu je sama jezgra, srce operativnog sustava Linux. Šanse su da najvjerojatnije nikada nećete morati sastaviti vlastiti kernel. Ona koja se isporučuje s vašom distribucijom i ažuriranjima putem vašeg sustava za upravljanje paketima obično je dovoljno dobra, ali postoje trenuci kada bi moglo biti potrebno rekompajlirati jezgru.

Neki od ovih razloga mogu biti posebne hardverske potrebe, želja za stvaranjem monolitne jezgre umjesto modularizirane, optimizacija jezgre uklanjanjem beskorisnih pokretačkih programa, pokretanje razvojnog jezgra ili jednostavno za saznanjem više o Linuxu. U ovom ćemo slučaju kompilirati novoobjavljenu jezgru 3.12, na Debian Wheezy. Novoobjavljeni Kernel 3.12 ima nekoliko novih značajki, uključujući neke nove upravljačke programe za NVIDIA Optimus i Radeon Kernel Graphics Driver. Također nudi ogromna poboljšanja EXT4 datotečnog sustava i neka ažuriranja za XFS i Btrfs.

Kako kompilirati i instalirati kernel 3.12 u Debianu

Za početak trebat će nam neki paketi, naime fakeroot i kernel-package:

# apt-get install fakeroot kernel-package

Sada, dohvatite najnoviji izvorni tarball sa www.kernel.org ili ga možete koristiti za preuzimanje naredbe wget naredbe.

# wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz

Otpakirajmo arhivu.

# tar -xvJf linux-3.12.tar.xz

Nakon izdvajanja stvorit će se novi direktorij izvornog jezgra.

# cd linux-3.12

Sada ćemo htjeti konfigurirati kernel. Najbolje je započeti s konfiguracijom koju trenutno koristite i odatle raditi. Da bismo to učinili, kopirat ćemo trenutnu konfiguraciju iz direktorija/boot u trenutni radni direktorij i spremiti je kao .config.

# cp /boot/config-`uname –r`.config

Za početak imate stvarnu konfiguraciju, imate jednu od dvije mogućnosti. Ako imate instaliran X11, možete pokrenuti make xconfig i imati lijep GUI izbornik koji će vam pomoći prilikom konfiguriranja kernela. Ako radite u CLI okruženju, možete pokrenuti make menuconfig. Trebat će vam instaliran libncurses5-dev paket da biste koristili menuconfig:

# apt-get install libncurses5-dev
# make menuconfig

Kao što ćete vidjeti, nakon što se odlučite za konfiguraciju, postoji mnogo različitih opcija dostupnih za vašu jezgru. Zapravo ih je previše za opseg ovog vodiča. Kad odabirete opcije kernela, najbolji je način pokušajem i pogreškom te obavljanjem puno guglanja. To je najbolji način za učenje. Ako jednostavno pokušavate ažurirati kernel na najnoviju verziju, ne morate ništa mijenjati i možete jednostavno odabrati "Spremi konfiguraciju". Budući da smo kopirali trenutnu konfiguracijsku datoteku jezgre u .config datoteku novog jezgra.

Imajte na umu da je u odjeljku „Podrška modula za učitavanje“ odabran „Učitavač modula kernela“. Ako nije, a koristite kernel module, to može ozbiljno zabrljati.

Kad je to ravno, vrijeme je da očistite izvorno stablo.

# make-kpkg clean

Napokon, vrijeme je za izgradnju paketa jezgre.

# export CONCURRENCY_LEVEL=3
# fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers

Kao što ćete vidjeti gore, izvezli smo varijablu koja se zove CONCURRENCY_LEVEL. Opće pravilo ove varijable je da se postavi kao broj jezgri koje vaše računalo ima + 1. Dakle, ako koristite četverojezgru, trebali biste:

# export CONCURRENCY_LEVEL=5

To će uvelike ubrzati vaše vrijeme kompilacije. Ostatak naredbe za kompilaciju prilično je samorazumljiv. S fakerootom izrađujemo pakete jezgra (make-kpkg), dodajemo niz za imenovanje našeg jezgra ("customkernel"), dajemo mu revizijski broj ("1") i poručujemo make-kpkg da izradi oba slikovna paketa i paket zaglavlja. Jednom kad je kompilacija završena, a ovisno o vašem stroju i broju modula koje kompajlirate, može potrajati prilično dugo, promijenite direktorije u jedan natrag iz Linux izvornog direktorija i trebali biste vidjeti dvije nove * .deb datoteke - jedna datoteka linux-slike i jedna datoteka linux-zaglavlja:

Sada ovu datoteku možete instalirati kao da instalirate bilo koju * .deb datoteku s naredbom dpkg.

# dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb

Novi kernel, budući da je paket Debian, ažurirat će sve što vam treba, uključujući bootloader. Jednom instalirani, jednostavno se ponovno pokrenete i odaberete novu jezgru s izbornika GRUB/LiLO.

Svakako pažljivo obratite pažnju na sve poruke o pogreškama tijekom postupka pokretanja kako biste mogli riješiti probleme. Ako se iz bilo kojeg razloga vaš sustav ne pokrene, uvijek se možete vratiti na posljednju radnu jezgru i pokušati ponovno. Nefunkcionalnu jezgru uvijek možete ukloniti pomoću naredbe apt.

# sudo apt-get remove linux-image-(non-working-kernel)