Actualizarea kernelului nu este pentru toată lumea. Vă rugăm să rețineți înainte de a încerca oricare dintre acestea că vă poate rupe sistemul.
Există o mulțime de motive pe care doriți să le personalizați. Este posibil să doriți să vă tăiați kernelul numai la serviciile necesare, mai ales dacă rulați un server sau un dispozitiv dedicat care necesită numai cele mai importante. De asemenea, este posibil să aveți nevoie de patch-uri pentru a sprijini hardware-ul care nu este acceptat în prezent cu kernelul pe care îl executați.
Acest articol nu va explica cum să vă patchați kernelul, cum să personalizați actualul. Voi avea un alt articol de urmărire care explică cum să îți corectezi nucleul și câteva motive practice pentru care ai vrea să faci acest lucru.
Pentru a începe, trebuie să dăm seama ce versiune a kernelului rulează în prezent. Vom folosi comanda uname pentru asta
$ uname -r
2.6.17-10-generic
Acum trebuie să instalați sursa linux pentru kernel-ul dvs., rețineți că rulez kernelul 2.6.17-10, deci linia de instalare reflectă acest lucru. În sensul prezentului articol, puteți înlocui numărul de nucleu pentru ceea ce executați. De asemenea, trebuie să instalăm biblioteca blestemelor și alte instrumente care să ne ajute să ne compilam.
sudo apt-get instalare linux-source-2.6.17 pachet kernel-libncurses5-dev fakeroot
Dacă sunteți curios unde se instalează sursa linux, puteți folosi comanda dpkg pentru a vă spune fișierele dintr-un pachet. Iată rezultatele pe sistemul meu:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ Usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ Usr / share
/ Usr / share / doc
/usr/share/doc/linux-source-2.6.17
(Decupate)
Putem vedea că sursa a fost instalată în directorul / usr / src într-un fișier comprimat.
Pentru a face lucrurile mai ușoare, ne vom pune în modul rădăcină folosind sudo pentru a deschide o nouă coajă. Există și alte modalități de a face acest lucru, dar prefer acest fel.
sudo / bin / bash
Acum schimbați directorul în locația sursă pentru a putea fi instalat. Rețineți că poate fi necesar să instalați utilitarul bunzip dacă nu este instalat. (a fost pe a mea)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
Lin-s linux-source-2.6.17 linux
Efectuați o copie a configurației existente a kernelului pentru a fi utilizată pentru procesul de compilare personalizat. Rețineți că "caracterul este cel sub tilde ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Acum vom lansa utilitarul care ne va permite să customizăm kernelul:
cd / usr / src / linux
face menuconfig
Mai întâi, mergeți în jos pentru a încărca un fișier de configurare alternativ și încărcați fișierul .config. (doar apăsați Enter)
Acum, că suntem în interiorul utilitarului, putem seta opțiunile pentru kernel-ul nostru personalizat. Navigarea este destul de simplă, există o legendă în partea de sus dacă pierzi. Am decis să selectați Networking (Rețele) și să apăsați tasta Enter pentru a merge în acea categorie.
Amatori de sprijin radio? Pentru ce naiba e instalat? Veți observa că * este încorporat în kernel.
Prin apăsarea butonului? cheie, putem vedea ajutorul pentru elementul respectiv. Iată explicația:
Ei bine, o să o dezactivez imediat. De ce e pe pământ instalat în kernelul meu oricum? Am lovit Esc pentru a ieși din ecranul de ajutor și apoi l-am lovit pe N pentru a exclude asta din kernelul meu.
Când ați terminat de făcut toate opțiunile dorite, apăsați Exit și salvați configurația când vi se solicită.
Acum avem o configurație gata de compilare. Mai intai vom face o curatare, doar pentru a ne asigura ca totul este gata pentru compilatie.
make-kpkg curat
Apoi vom compila nucleul. Acest lucru va dura o perioadă lungă de timp, deci găsiți ceva interesant de făcut.
fakeroot make-kpkg -initrd -append -to-version = -custom kernel_image kernel_headers
Acest proces va crea două fișiere .deb din / usr / src care conțin kernel-ul. Fișierul linux-image **** este imaginea actuală a kernel-ului, iar celălalt fișier conține poți instala atât cu dpkg. Numele de fișiere vor fi probabil diferite în sistemul dvs.
Rețineți că atunci când executați aceste comenzi următoare, acesta va seta noul kernel ca nou kernel implicit. Asta ar putea sparge lucrurile! Dacă mașina dvs. nu pornește, puteți să-l atingeți pe Esc din meniul de încărcare GRUB și să selectați vechiul kernel. Puteți apoi să dezactivați kernel-ul în /boot/grub/menu.lst sau să încercați să compilați din nou.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Acum reporniți mașina. Dacă totul funcționează, trebuie să rulați noul kernel personalizat. Puteți verifica acest lucru utilizând uname. Rețineți că numărul exact va fi diferit pe aparat.
uname -r
2.6.17.14-ubuntu1 personalizat
Am de gând să scriu o serie de articole despre personalizarea kernel-ului, deci abonați-vă la feed-ul RSS pentru actualizări.
De asemenea, în interesul dezvăluirii complete, am învățat cum să fac acest lucru din articolul de la HowtoForge, care este un site minunat pentru câteva tutoriale foarte avansate pe linux. Veți observa că mulți dintre pașii din acest articol sunt similare, deși am încercat să fac acest articol mai "Ubuntu".