Asamblarea kernel-ului cu o configurație proprie

introducere

Calculați Linux rulează pe un kernel Linux cu o perioadă lungă de suport (longterm). Majoritatea driverelor sunt în module, ceea ce permite ca kernelul să rămână compact, fără a pierde funcționalitatea. Pentru servere și desktopuri, sunt utilizate diverse setări și plăcuțe. Spre deosebire de alte kernel-uri de la portages, pachetul sys-kernel / sources-calculate. utilizat în mod implicit în distribuțiile Calculate Linux, este compilat și instalat pe sistem, la fel ca majoritatea altor pachete, eliberând spațiu prin eliminarea majorității codului sursă.







De ce ar trebui să modificați setările kernelului? Optimizând kernelul, puteți obține câștiguri de performanță, vă puteți sprijini hardware-ul, eliberați memoria, reduceți consumul de energie și accelerați încărcarea sistemului. Printre altele, studiul kernel-ului oferă o bună cunoaștere a înțelegerii funcționării sistemului.

cl-kernel

Pentru a construi kernelul, utilizați scriptul cl-kernel inclus în pachetul sys-apps / calcul-toolkit. Programul este scris în Bash și este integrat în mod transparent cu sistemul de șabloane al programului Calculate Utilities.

  1. Suport pentru construirea de kernel-uri diferite: sys-kernel / sources-calculate. sys-kernel / gentoo-sources. sys-kernel / surse de vanilie, etc.
  2. Sprijin pentru crearea unui kernel, cu și fără initramfs.
  3. Creați un șablon de configurare a kernelului cu toate modificările efectuate.
  4. Importați setările kernelului gata în șablon.
  5. Transparent migrarea setărilor între versiunile de kernel.
  6. Integrare cu Calculați utilitarele pentru a utiliza șabloane de configurare în timpul instalării kernel-ului sursă de calcul.
  7. Creați copii de rezervă ale setărilor.
  8. Localizarea în limba rusă și franceză.

Înainte de a continua pașii următori, asigurați-vă că aveți suficient spațiu liber pe disc. Codul sursă al kernelului este despachetat în directorul / usr / src. Puteți vizualiza spațiul liber prin:

Asigurați-vă că aveți o copie de rezervă a kernel-ului, din care puteți porni întotdeauna sistemul. Pentru aceasta, este convenabil să se efectueze experimente cu pachete de nucleu alternative sau cu kernelul sursă de calcul al unei versiuni dezinstalate.

Construirea unui kernel

Selectați oricare dintre kernelurile disponibile în portages. Întreaga listă de descrieri poate fi vizualizată prin a face:

De exemplu, vom alege kernelul "vanilie" - versiunea originală, susținută de Linus Torvalds.

Nucleul din portages este marcat cu o mască, deci va trebui să o elimini mai întâi:







Flagul USE "symlink" ar trebui setat dacă utilizați pachete de proprietate, cum ar fi driverele nvidia. ati-drivers. virtualbox-bin sau broadcom-sta. În acest caz, după instalarea kernel-ului, trebuie să construiți modulele prin rularea:

Verificați dacă nucleul dvs. este disponibil:

Fiți atenți la listă. Spre deosebire de sursele de calcule (și alte miezuri), nucleul de vanilie nu conține cuvântul "vanilie". Asteriscul roșu din partea stângă a versiunii kernelului înseamnă că kernelul instalat nu conține versiunea completă a codului sursă. Asteriscul din partea dreaptă indică kernelul implicit. Acesta este definit de linia simbolică / usr / src / linux.

Pentru prima rulare, puteți să convertiți setările din versiunea curentă a kernel-ului, pentru a face acest lucru:

Este important să înțelegeți particularitatea muncii cl-kernel și diferența față de versiunea anterioară a acestui program.
  1. Scriptul cl-kernel funcționează cu fișierul de configurare a kernel-ului obținut din șablon.
  2. După finalizare, programul va analiza modificările efectuate de utilizator și va crea un nou șablon de utilizator.
  3. Pentru alte nuclee decât sursele de calcule. nu există șabloane de configurare, astfel încât șablonul finalizat va conține diferențe față de setările prestabilite ale kernel-ului.
  4. Cu opțiunea "--convert", programul va lua ca bază setările kernelului curent (de la / boot sau / proc) dacă nu există nici un fișier ".config" în directorul cu codul sursă al kernel-ului.

În timpul executării scriptului, va fi apelată configurația kernel-ului (apelarea menuconfig), asamblarea și instalarea. Dacă opțiunea CONFIG_BLK_DEV_INITRD nu este dezactivată. initramfs vor fi create.

După finalizare, nu uitați să actualizați modulele necesare prin:

Acum puteți reporni pentru a testa noul kernel! La momentul încărcării, rețineți că noul kernel este încărcat. Dacă nu ați modificat nimic în fereastra de setări, nu ar trebui să existe probleme cu descărcarea.

Actualizarea kernelului

Uită-te la prima linie a șablonului pe care cl-kernel-ul a creat-o din fișierul de configurare a kernel-ului sursă:

Prima linie este titlul șablonului. Acesta descrie formatul șablonului, numele fișierului personalizat, verifică arhitectura sistemului, numele și versiunea kernelului.

Șablonul arată că acesta va funcționa pentru toate kernelle de la versiunea 3.19 și versiuni ulterioare.

Pentru a instala kernelul 3.19.1, după instalarea pachetului, va fi suficient să efectuați:

Când treceți la o versiune mai mare a kernelului, de exemplu 3.20 4.0.0, trebuie adesea să consultați lista de modificări între setările kernel-ului (make oldconfig). Pentru aceasta, executați:

Configurați surse de calcul

Folosind exemplul surselor de vanilie, am învățat cum să instalăm și să compilam diferite pachete de kernel. Dar ce se întâmplă dacă trebuie să puneți actualizarea kernel-ului "pe flux" cu schimbările de setări și cu patch-urile? Nu este nimic mai ușor!

1. Scoateți pavilionul USE "minimal" din kernel:

2. Instalați codul sursă al kernelului fără a compila:

3. Modificați setările:

În ultimul paragraf nu există o referință la versiunea kernelului, deoarece instalarea pachetului suprascrie link-ul simbolic / usr / src / linux. Puteți verifica acest lucru executând:

Dacă nu sunteți sigur, este bine să specificați explicit nucleul:

Rețineți că versiunea kernel nu mai este un asterisc roșu, ci un verde.

În timp ce nucleul merge, uita-te la șablonul de configurare a kernel-ului primit: acesta va conține doar modificările pe care le-ai făcut - diferențele față de versiunea inițială a setărilor kernel-ului.

Exemplu de șablon după dezactivarea suportului ReiserFS:

Rețineți că re-executarea cl-kernel-ului ține cont de modificările pe care le-ați făcut. Pentru a le reseta, ștergeți șablonul pe care l-ați creat.

Optimizarea kernelului

Utilizarea de patch-uri

Pentru dezvoltatori







Articole similare

Trimiteți-le prietenilor: