Cum să personalizați kernelul dvs. Ubuntu
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. Poate doriți să vă reduceț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 kernelul și câteva motive practice pentru care ai vrea să faci acest lucru.
Pentru a începe, trebuie să ne 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 kernel-package 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 lucru.
sudo / bin / bash
Acum schimbați directorul în locația sursă, astfel încât să putem instala. Rețineți că poate fi necesar să instalați utilitarul bunzip dacă nu este instalat. (a fost pe mine)
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 kernel-ului 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ă personaliză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 kernelul 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.
Sprijin pentru radio amator? 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 nucleul 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 alegerile dorite, apăsați Exit și salvați configurația când vi se solicită.
Acum avem o configurație gata de compilare. Mai întâi vom face un curat, doar pentru a ne asigura că totul este pregătit pentru compilare.
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 nucleul. 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. Acest lucru 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 aparatul dvs..
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".