Publicitate

Impreuna cu instalarea Gentoo Gentoo: o distribuție Linux unde îți compilezi propriul software optimizatNumărul mare de moduri diferite în care Linux poate fi rulat este uluitor, deoarece există o mulțime de opțiuni de parcurs. În timp ce există o mulțime de distribuții care se bazează fie pe .deb ... Citeste mai mult , compilarea propriului kernel Linux este unul dintre acele lucruri care sunt considerate foarte geeky și tehnice. Deja suntem a cuprins câteva motive 3 motive pentru care ar putea să vrei să-ți compilezi propriul kernel [Linux]Sistemele Linux sunt atât de ridicol de flexibile și de configurare, dar sunt înnebunite. O mare parte din motivul pentru care Linux este atât de flexibil se datorează structurii sale modulare. Fiecare componentă și program de sistem este împărțită ... Citeste mai mult de ce s-ar putea să vrei să faci asta. Înainte de a vă parcurge pașii, iată o scurtă privire de ansamblu asupra unor concepte importante.

Ce este un nucleu?

Pe scurt, este o parte vitală a sistemului dvs. de operare, dacă nu chiar cel mai important. Un sistem de operare este responsabil pentru a permite programelor să funcționeze, permițându-le accesul la hardware-ul dvs. Cu toate acestea, este

nucleu Ce este un kernel în Linux și cum vă verificați versiunea?Linux este un sistem de operare, nu? Ei bine, nu exact! Este de fapt un nucleu. Dar ce este nucleul Linux? Citeste mai mult care duce de fapt toate aceste locuri de muncă.

Nucleul Linux este special prin faptul că poate fi personalizat pentru a se potrivi hardware-ului pe care îl deții. Contrastați acest lucru cu nucleul Windows NT, care va fi, în general, același pe fiecare computer. Pentru a face acest lucru, nucleul trebuie să parcurgă un proces numit compilare.

Pentru mai multe informații, consultați introducerea noastră la kerneluri în Linux Ce este un kernel în Linux și cum vă verificați versiunea?Linux este un sistem de operare, nu? Ei bine, nu exact! Este de fapt un nucleu. Dar ce este nucleul Linux? Citeste mai mult .

Ce este compilarea?

În general, programele sunt scrise într-un format care poate fi citit de oameni. Acest lucru face mai ușor pentru oameni să creeze software. De exemplu, nucleul Linux este scris mai ales într-un limbaj de programare numit C. Cu toate acestea, calculatoarele nu pot înțelege acest lucru. Ei recunosc doar un limbaj complicat numit Codul mașinii. Pentru a face acest lucru, trebuie să existe liniile de text tradus Cum să compilați și instalați fișierele TAR GZ și TAR BZ2 în Ubuntu Linux Citeste mai mult folosind un software special numit a compilator.

Diferite compilatoare sunt folosite pentru a converti diferite limbaje de programare. De exemplu, CGC este un compilator care traduce codul C în codul mașinii (printre altele). Dar asta nu este tot ceea ce fac, de asemenea, compilatoarele Optimizați codul tradus pentru anumite mașini. În paralel, acestea pot elimina, de asemenea, funcțiile nedorite din programe.

De obicei, acest proces este deja făcut pentru o mulțime de software. În schimb, oamenii descarcă cei convertiți binar instrucțiuni, care funcționează din cutie. De exemplu, browser web Utilizați cel mai bun browser web pentru Linux în 2016?Utilizarea browserului „greșit” poate duce la o mulțime de dureri de cap inutile, productivitate irosită și chiar pierderi de date. Deci, ce browser este cel mai bun pentru computerul dvs. Linux? Să aflăm. Citeste mai mult funcționează chiar acum este deja compilat. Acest lucru se datorează faptului că compilarea ceva poate fi un pic complicat și consumă mult timp. Gândește-te ca traducerea unei cărți mari într-o limbă străină.

Pe scurt, compilarea kernelului înseamnă transformarea codului său în ceva care va rula efectiv pe computer.

Obținerea surselor de sâmbure

Nu puteți aprinde foc fără combustibil. De asemenea, nu puteți compila programe dacă nu aveți codul pentru el în primul rând. Metoda este în general aceeași pentru majoritatea sistemelor de operare Linux, cu câteva excepții. Mulți dintre ei își furnizează propriile surse de nucleu personalizate. Ar trebui să încercați să folosiți asta dacă puteți. De exemplu, dacă utilizați un Sistem de operare bazat pe Debian cum ar fi Ubuntu, ar trebui să instalați sursele folosind aceste comenzi:

Actualizare sudo apt-get. sudo apt-get install linux-source. 
Cum să vă compilați propria sursă de Linux Kernel Debian

Puteți instala, de asemenea, diferite versiuni ale acestui pachet (de ex. linux-source-4.8.0) dacă vrei. Veți găsi fișierele instalate în /usr/src/ director, deci navigați acolo și vizualizați conținutul:

cd / usr / src / ls.

Veți vedea un fișier care se încheie cu .tar.bz2. Aceasta este sursa pe care o veți folosi. Extrageți-o cu această comandă:

sudo tar xjvf linux-source-4.4.0.tar.bz2. 

Asigurați-vă că înlocuiți fișierul cu numele corect, desigur. Fișierul va fi destul de mare, deci procesul va dura puțin!

Metodă alternativă

Dacă doriți, puteți obține sursele dvs. din site-ul oficial al Linux Kernel. Vă recomand acest lucru numai dacă sistemul dvs. de operare Linux nu le furnizează. Selectați versiunea dorită și descărcați-o. Dacă parcurgeți această rută, ar trebui să o descărcați într-un folder gol. În acest fel, dacă doriți să compilați mai multe sâmburi pe viitor, veți avea un folder frumos în care să le păstrați organizate.

Cum să vă compilați propriile surse de kernel de vanilie pentru Linux

După acest lucru, extrageți fișierul cu această comandă:

gudron xJvf linux-4.9.11.tar.xz
Cum să vă compilați propria sursă de Linux Kernel Vanilla Linux

Asigurați-vă că utilizați numele de fișier care se potrivește cu versiunea descărcată!

Personalizați Kernel-ul

Acesta este pasul în care puteți alege ce părți ale sâmburelui doriți să scăpați. De exemplu, nucleul este livrat cu o mulțime de drivere diferite pentru o varietate de dispozitive. Dacă nu aveți nevoie de acest sprijin, scăparea de ele poate produce anumite avantaje de viteză, împreună cu un nucleu mai mic.

Cerințe preliminare

Înainte de a continua, trebuie să instalați câteva programe care vă vor permite să personalizați și să le compilați.

Pe sistemele bazate pe Debian, aveți nevoie de build-essential pachet, printre altele:

sudo apt-get install build-essential gcc libncurses5-dev libssl-dev. 

libncurses5-dev pachetul va facilita configurarea kernel-ului, deci asigurați-vă că îl instalați. Alte sisteme de operare Linux vor avea un program similar, dar acesta poate fi sub un nume diferit. De exemplu, dacă utilizați Fedora 5 motive pentru a utiliza Distribuirea pură a surselor deschise, FedoraFedora nu este la fel de cunoscut ca Ubuntu și are o reputație de a fi greu de utilizat. Dar dacă acest lucru este adevărat, de ce tot atât de mulți oameni continuă să utilizeze Fedora? Citeste mai mult , se numeste ncurses.

Dacă nu este instalat deja, va trebui, de asemenea Colecția compilatorului GNU (CCG). Acesta este instrumentul responsabil pentru traducerea codului sursă brut în ceva inteligibil pentru calculatoare. Adică, compilarea.

După instalarea acestor programe, deschide-ți terminalul astfel încât să fii interior folderul sursă extras Linux. De exemplu, dacă ați utilizat linux-source metodă, veți face acest lucru:

cd /usr/src/linux-source-4.4.0

Fișierul de configurare al nucleului

Înainte de a compila nucleul, trebuie să spuneți GCC cum doriți. Faceți acest lucru folosind un instrument de linie de comandă numit face. Introduceți această comandă:

sudo face localmodconfig. 

Se creează un fișier numit .config, care indică GCC ce trebuie să compileze din sursele nucleului. face localmodconfig comanda detectează componentele kernel-ului care rulează în prezent și le marchează pentru compilare. Dacă sâmburele se află într-un folder pe care îl deții nu va avea nevoie de sudo pentru ca acesta să funcționeze.

Este posibil să întâlniți câteva mesaje precum cel de mai jos. Doar apăsați butonul introduce cheie pentru a le omite - de obicei sunt doar funcții noi ale kernel-ului.

Cum să vă compilați propriul kernel Linux Faceți Localmodconfig nou

Cu toate acestea, localmodconfig nu este perfect! Dacă nu utilizați în prezent unele părți ale computerului, este posibil să nu detecteze toate lucrurile pe care le acceptă. Ca atare, trebuie să le activați manual. În mod alternativ, puteți săriți complet acest pas și puteți utiliza în schimb următoarea comandă. Acest lucru va compila noul kernel cu aceleași opțiuni ca cel pe care îl utilizați în prezent.

Dacă preferați asta, dar ați folosit comanda localmodconifg înainte, faceți acest lucru:

sudo face curat. 

Acest lucru vă va oferi o construcție curată. De asemenea, ar trebui să utilizați această comandă dacă ați compilat anterior un nucleu cu aceste surse.

Configurare suplimentară

În folderul sursă al kernelului, există un fișier apelat .config. Aceasta este ceea ce GCC va folosi pentru a alege ce să compileze. În loc să o editați manual (nu este recomandat), veți folosi în schimb câteva instrumente terminale. Acest lucru va face selectarea opțiunilor de compilare mult mai ușoară.

După ce ați făcut acest lucru, reglați-l mai departe:

sudo face nconfig. 

Veți vedea un meniu colorat. Acesta este meniul de configurare al kernel-ului. Pentru a naviga, utilizați tastele săgeată. Puteți apăsa butonul dreapta tasta săgeată pentru a extinde intrările cu o —> semnează lângă ei. Navigați din aceste submeniuri apăsând butonul stânga tasta săgeată.

Cum să vă compilați propriul kernel Linux faceți Nconfig

Puteți comuta intrările din meniu care au <> sau [] semnați lângă ei apăsând bara de spațiu. Aceasta va parcurge diferitele opțiuni ale meniului. Dacă vezi a * sau M în interior, acea componentă specifică a kernelului va fi compilată. Singura diferență între ele este că M opțiunea va fi încărcată atunci când va fi nevoie. Acest lucru poate fi util dacă compilați un driver, de exemplu, care nu va fi folosit deseori.

Dacă doriți să aflați mai multe despre ce face un anumit comutator, apăsați F2 peste ea. Veți vedea o descriere utilă pentru ce redactați.

Cum să vă compilați propriul kernel Linux faceți Nconfig F2

După ce ați terminat, apăsați butonul F9 buton pentru salvare și ieșire.

Cum să vă compilați propriul kernel Linux faceți Nconfig salvați

Compilarea și instalarea nucleului

După ce ați creat un fișier personalizat, va trebui să compila Cum să compilați și instalați fișierele TAR GZ și TAR BZ2 în Ubuntu Linux Citeste mai mult sâmburele. Introduceți această comandă:

sudo make -j $ (nproc --all)

Tu vei nu are nevoie de sudo dacă ai descărcat sursele de kernel de pe Internet. A doua parte a comenzii ajută la accelerarea timpului de compilare a kernelului, profitând de toate dvs. Nuclee de procesor Ce este un nucleu al procesorului? [FaceUseOf Explică]Fiecare computer are un procesor, fie că este un pro-eficiență mică sau o centrală performantă mare, fie că nu ar putea să funcționeze. Desigur, procesorul, numit și procesor sau procesare centrală ... Citeste mai mult . Puteți scăpa de acest lucru sau puteți schimba numărul în altceva (de ex. -j2), dacă doriți să folosiți computerul pentru alte sarcini fără prea multe sughițe. Totuși, acest lucru va face și compilarea mai lentă!

Acest proces poate și durează foarte mult timp. Cu cât ai ales mai puțin să compilezi, cu atât va fi mai scurt. Chiar și așa, probabil că va trebui să aveți răbdare.

După aceea, tastați această comandă pentru a termina compilarea restului kernelului:

sudo make modules_install. 

Pentru a utiliza efectiv acest kernel, va trebui să introduceți această comandă:

sudo make install. 

Aceasta va copia automat nucleul pe dvs. /boot folderul și generează fișierele adecvate pentru ca acesta să funcționeze.

Comutarea nucleelor ​​cu GRUB

Dacă reporniți după instalarea noului kernel, este posibil ca sistemul dvs. să nu funcționeze! Acest lucru se datorează de obicei unui nucleu compilat în mod necorespunzător (adică nu suportă calculatorul suficient de bine). În concluzie, propriul laptop. Doar în cazul în care se întâmplă acest lucru, vă recomand editarea GRUB Cum să personalizați încărcătorul de încărcare GRUB folosind BURG [Ubuntu] Citeste mai mult astfel încât să poată trece înapoi la sâmburele mai vechi. Pentru a face acest lucru, utilizați această comandă:

sudo nano / etc / default / grub. 
Cum să vă compilați propriul Linux Kernel Ubuntu GRUB

Plasați un semn # în fața GRUB_HIDDEN_TIMEOUT și GRUB_HIDDEN_TIMEOUT_QUIET linii. După aceea, salvați aceste modificări executând această comandă:

sudo grub-mkconfig -o /boot/grub/grub.cfg. 
Cum să vă compilați propriul meniu Kernel GRUB Linux

Acum, dacă reporniți computerul, veți putea trece la un nucleu mai vechi dacă noul dvs. nu funcționează. Pur și simplu mergeți la Opțiuni avansate element de meniu și selectați nucleul pe care doriți să îl porniți. Dacă totul merge bine, felicitări! Vei folosi nucleul pe care l-ai compilat de unul singur.

Vă interesează să acumulați mai multe sâmburi? Alte programe? Vi se pare că merită?

Credite imagine: chombosan / Shutterstock

În prezent studiază pentru un BIT, Austin Luong este un pasionat avid de Linux care iubește să facă prozelitism despre software-ul liber. Îi place, de asemenea, să scrie sci-fi, dar numai în confidențialitatea hard disk-ului.