Kernel 3.12 Verëffentlecht - Installéieren a kompiléieren an Debian Linux


Ee vun de gréissten Zeechnungen fir Linux ze benotzen ass seng einfach Personnalisatioun an eng vun de lëschtegste Saachen fir ze personaliséieren ass de Kernel selwer, d'Häerz vum Linux Betribssystem. D'Chancen sinn datt Dir héchstwahrscheinlech ni Ären eegene Kernel musst kompiléieren. Deen, deen mat Ärer Verdeelung an Updates iwwer Äre Package Management System verschéckt gëtt, ass normalerweis gutt genuch, awer et ginn Zäiten, wou et néideg ass de Kernel nei ze kompiléieren.

E puer vun dëse Grënn kënne speziell Hardwarebedürfnisser sinn, de Wonsch e monolithesche Kernel ze kreéieren anstatt e modulariséierten, de Kernel ze optimiséieren andeems onnëtzlech Chauffeuren ofgeschaaft ginn, en Entwécklungskär lafen oder einfach méi iwwer Linux léieren. An dësem Fall wäerte mir en nei verëffentlechte Kernel 3.12 kompiléieren, op Debian Wheezy. Déi nei verëffentlecht Kernel 3.12 huet e puer nei Features, dorënner e puer nei Treiber fir den NVIDIA Optimus, an de Radeon Kernel Graphics Driver. Et bitt och enorm Verbesserunge vum EXT4 Dateiesystem, an e puer Updates op XFS a Btrfs.

Wéi een Kernel 3.12 an Debian kompiléieren an installéieren

Fir unzefänken, brauche mir e puer Packagen, nämlech Fakeroot a Kernel-Package:

# apt-get install fakeroot kernel-package

Loosst eis elo eng lescht Quell Tarball vun www.kernel.org gräifen oder Dir kënnt de folgende wget Kommando benotzen fir et erofzelueden.

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

Elo, loosst eis d'Archiv auspacken.

# tar -xvJf linux-3.12.tar.xz

Nom Extrait gëtt en neie Kernel Quellverzeichnis erstallt.

# cd linux-3.12

Elo wëlle mir de Kernel konfiguréieren. Et ass am beschten mat enger Konfiguratioun unzefänken déi Dir am Moment benotzt a vun do aus schaffen. Fir dëst ze maachen, kopéieren mir déi aktuell Konfiguratioun vum /boot-Verzeichnis an den aktuellen Aarbechtsverzeechnes a späichere se als .config.

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

Fir mat der aktueller Konfiguratioun unzefänken, hutt Dir eng vun zwou Méiglechkeeten. Wann Dir X11 installéiert hutt, kënnt Dir maachen xconfig lafen, an e flotte GUI Menü hunn fir Iech ze hëllefen wann Dir Äre Kernel konfiguréiert. Wann Dir an engem CLI Ëmfeld leeft, kënnt Dir maachen menuconfig lafen. Dir braucht de libncurses5-dev Package installéiert fir Menuconfig ze benotzen:

# apt-get install libncurses5-dev
# make menuconfig

Wéi Dir gesitt, wann Dir an der Konfiguratioun vun Ärer Wiel sidd, datt et eng Tonn vu verschiddenen Optiounen fir Äre Kernel verfügbar ass. Tatsächlech sinn et vill ze vill fir den Ëmfang vun dësem Tutorial. Wann Dir Kernel Optiounen auswielt, ass de beschte Wee duerch Versuch a Feeler, a maacht vill Googling. Et ass de beschte Wee fir ze léieren. Wann Dir einfach just probéiert Äre Kernel op déi lescht Versioun ze aktualiséieren, musst Dir näischt änneren a kënnt einfach \Configuratioun späicheren auswielen.Well mir d'Konfiguratiounsdatei vun der aktueller Kernel an d'.config Datei vum neie Kernel kopéiert hunn.

Opgepasst datt Kernel Modul Loader an Loadable Modul Support ausgewielt gëtt. Wann et net ass, an Dir benotzt Kernelmoduler, kann et d'Saachen eescht veruersaachen.

Wann dat riicht ass, ass et Zäit de Quellbaum ze botzen.

# make-kpkg clean

Endlech ass et Zäit de Kernel Package ze bauen.

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

Wéi Dir uewen gesitt, hu mir eng Variabel mam Numm CONCURRENCY_LEVEL exportéiert. Eng allgemeng Fauschtregel mat dëser Variabel ass et wéi d'Zuel vun de Cores Äre Computer huet + 1 ze setzen. Also, wann Dir e Quad Core benotzt, da géift Dir:

# export CONCURRENCY_LEVEL=5

Dëst wäert Är Kompiléierungszäit immens beschleunegen. De Rescht vum Kompiléierungskommando ass zimlech selbstänneg. Mat fakeroot maache mir Kernel Packagen (make-kpkg), addéiere mer eng String fir eise Kernel ze nennen (customkernel), ginn et eng Versiounsnummer (1) a mir soen dem make-kpkg souwuel eng Bildpaket an e Header Package. Wann d'Kompilatioun fäerdeg ass, an ofhängeg vun Ärer Maschinn, an der Unzuel vun de Moduler déi Dir kompiléiert, kann et zimmlech laang daueren, Verzeichnisser op een zréck aus dem Linux Quellverzeichnis änneren, an Dir sollt zwee nei *.deb Dateien gesinn - eng Linux-Image Datei an eng Linux-Header Datei:

Dir kënnt elo dës Datei installéieren wéi Dir all *.deb Datei mat dpkg Kommando installéiert.

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

Den neie Kernel, well et en Debian Package ass, wäert alles aktualiséieren wat Dir braucht, och de Bootloader. Eemol installéiert, Dir einfach nei starten, a wielt den neie Kernel aus Ärem GRUB/LiLO Menü.

Gitt sécher datt Dir op all Fehlermeldungen während dem Bootprozess opmierksam ass, fir datt Dir Probleemer léist. Wann, aus irgend engem Grond, Äre System net boot, kënnt Dir ëmmer zréck op Äre leschte funktionnéierende Kernel falen an nach eng Kéier probéieren. Den net-funktionnelle Kernel kann ëmmer mam apt Kommando geläscht ginn.

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