Una dintre cele mai mari atracții la utilizare Linux este personalizarea sa ușoară și unul dintre cele mai distractive lucruri de personalizat este Nucleu în sine, inima Sistem de operare Linux. Șansele sunt că cel mai probabil nu va trebui să vă compilați propriul kernel. Cel care se livrează cu distribuția și actualizările dvs. prin intermediul sistemului dvs. de gestionare a pachetelor este de obicei suficient de bun, dar există momente în care ar putea fi necesar să recompilați nucleul.
Unele dintre aceste motive ar putea fi speciale hardware nevoile, dorința de a crea un miez monolitic în loc de a modularizat unul, optimizarea kernelului prin eliminarea driverelor inutile, rularea unui kernel de dezvoltare sau pur și simplu pentru a afla mai multe despre Linux. În acest caz, vom compila un nou lansat Kernel 3.12, pe Debian Wheezy. Nou lansat Kernel 3.12 are câteva caracteristici noi, inclusiv unele drivere noi pentru NVIDIA Optimus, si Driver grafic Radeon Kernel
. De asemenea, oferă îmbunătățiri uriașe pentru EXT4 sistemul de fișiere și câteva actualizări la XFS și Btrfs.Pentru a începe, vom avea nevoie de niște pachete, și anume fakeroot și kernel-package:
# apt-get install fakeroot kernel-package
Acum, să luăm o ultimă sursă de tarball de la www.kernel.org sau puteți utiliza următoarea comandă wget pentru a o descărca.
# wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
Acum, să despachetăm arhiva.
# tar -xvJf linux-3.12.tar.xz
După extragere, va fi creat un nou director sursă de nucleu.
# cd linux-3.12
Acum, vom dori să configurăm nucleul. Cel mai bine este să începeți cu o configurație pe care o utilizați în prezent și să lucrați de acolo. Pentru a face acest lucru, vom copia configurația curentă din /boot în directorul de lucru curent și salvați-l ca .config.
# cp / boot / config-`uname –r`.config
Pentru a începe cu configurația reală, aveți una dintre cele două opțiuni. Daca ai X11 instalat, puteți rula face xconfig, și să aveți un frumos GUI meniu pentru a vă ajuta în timp ce vă configurați Nucleu. Dacă alergi într-un CLI mediu, puteți rula make menuconfig. Veți avea nevoie de libncurses5-dev pachetul instalat de utilizat menuconfig:
# apt-get install libncurses5-dev. # face menuconfig
După cum veți vedea, odată ce vă aflați în configurația dorită, există o mulțime de opțiuni disponibile pentru dvs. Nucleu. De fapt, sunt mult prea multe pentru scopul acestui tutorial. Când selectați Nucleu opțiuni, cel mai bun mod este prin încercare și eroare și să faci o mulțime de Google. Este cel mai bun mod de a învăța. Dacă pur și simplu încercați să vă actualizați Nucleu la cea mai recentă versiune, nu trebuie să schimbați nimic și puteți selecta pur și simplu „Salvați configurația”. Din moment ce am copiat fișierul de configurare al nucleului curent în noul nucleu .config fişier.
Rețineți că „Încărcător modul kernel”Este selectat în„Suport modul modulabil”. Dacă nu este, și utilizați module kernel, aceasta poate deranja serios lucrurile.
Odată ce este corect, este timpul să curățați arborele sursă.
# make-kpkg curat
În cele din urmă, este timpul să construiți pachetul de nucleu.
# export CONCURRENCY_LEVEL = 3. # fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers
După cum veți vedea mai sus, am exportat o variabilă numită CONCURRENCY_LEVEL. O regulă generală generală cu această variabilă este să o setați ca număr de nuclee pe care le are computerul dvs. + 1. Deci, dacă utilizați un quad core, ați:
# export CONCURRENCY_LEVEL = 5
Acest lucru vă va accelera foarte mult timpul de compilare. Restul comenzii de compilare este destul de auto-explicativă. Cu fakeroot, facem pachete de nucleu (make-kpkg), adăugând un șir pentru a denumi nucleul nostru („customkernel”), Oferindu-i un număr de revizuire („1”) Și spunem make-kpkg pentru a construi atât un pachet imagine și a pachet antet. După finalizarea compilării și în funcție de mașină și de numărul de module pe care le compilați, se poate luați destul de mult timp, schimbați directoarele într-unul din directorul sursă Linux și ar trebui să vedeți două noi * .deb fișiere - unul linux-image fișier și unul antet-linux fişier:
Acum puteți instala aceste fișiere așa cum ați instala orice * .deb fișier cu comanda dpkg.
# dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb
Noul kernel, deoarece este un Debian pachet, va actualiza tot ce aveți nevoie, inclusiv încărcător de încărcare. Odată instalat, pur și simplu reporniți, și selectați noul kernel din GRUB/LiLO meniul.
Asigurați-vă că acordați o atenție deosebită oricăror mesaje de eroare in timpul procesul de pornire astfel încât să puteți depana orice problemă. Dacă, din orice motiv, sistemul dvs. nu pornește, puteți reveni oricând la ultima funcționare Nucleu si incearca din nou. Nefuncționalul Nucleu poate fi întotdeauna eliminat cu apt comanda.
# sudo apt-get remove linux-image- (non-working-kernel)