Cum să personalizați kernelul dvs. Ubuntu

Configurare noua (How To)

Situatie

Kernel Linux

Backup

Actualizarea kernelului nu este pentru toată lumea. Vă rugăm să rețineți înainte de a încerca oricare dintre acestea că vă poate deteriora 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, sau cum să il personalizați pe actualul. Voi avea un alt articol 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 și alte instrumente care să ne ajute să ne compilam.

sudo apt-get install 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 
(trimmed)

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

Cum 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

ln -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

make 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)kernelul:

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? 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. Am dat 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 clean

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-custom

Succes!

Solutie

Tip solutie

Permanent

Voteaza

(12 din 28 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?