asamblarea și configurarea kernel-ului Linux Manual


In acest articol voi descrie manualul procesului construi kernel-ul Linux. Încerc să spun simplu și clar, ca materialul este proiectat pentru incepatori. Cei care știu deja cum să facă acest lucru, cel mai probabil, nu se va găsi în acest articol nu este nimic util. Scopul acestui articol - pentru a descrie procesul de configurare a kernel-ului și modul de determinare dreapta pentru conducătorii auto.

Voi începe cu o încercare de a distruge mitul. Mulți tind să creadă că configurația și asamblarea miezului - este în puterile unui guru. Desigur, acest lucru nu este cazul și vă voi spune de ce. Config de bază nu trebuie să fie creat de la zero, Linux a terminat configurația implicită și toate configurare suplimentară este redusă pentru a include driverele necesare pentru principalele componente ale sistemului și includerea sistemelor necesare de fișiere de sprijin. La cererea nu acceptă driverele necesare pot fi eliminate, dar această condiție nu este necesară sau chiar de dorit.

Cea mai frecventă problemă năvălire oameni, pentru prima dată, configurarea noului kernel - problema exact ceea ce doriți să activați driverul pentru kernel-ul câștigat de pe computer? Dar, în cele mai multe cazuri, acest lucru este tot ușor de rezolvat și asta e suficient doar numele cip placa de baza. Și dacă nu știu acest lucru și, vin în ajutorul unui set de pciutils lspci utilitate. Unii oameni, cu toate acestea, există probleme greu de rezolvat din cauza lipsei de echipamente de sprijin Linux lor, dar acest lucru este doar pentru utilizatorii de fier exotice.

A doua problemă se manifestă chiar și după construirea kernel-ul și reporniți calculatorul, și se poate rambursa angajamentul studiului multora. După cum știți, este faptul că computerul nu va porni. Mai precis, computerul este pornit, dar sarcina de sistem este întrerupt pentru o panică de nucleu. Și eu pot spune cu încredere că, în cele mai multe cazuri, acest lucru nu se întâmplă datorită faptului că utilizatorul nu a inclus modulele necesare, precum și datorită faptului că utilizatorul le-a dezactivat, crezând că ei nu au nevoie de kernel. De aceea am spus că „Tuning“ kernel-ul și dezactiva opțiuni care nu sunt necesare în exercitarea de excelență, poate duce la defectarea miezului. Pentru aceasta este regula de aur - dacă nu știi ce este și de ce, nu-l atinge, lăsați-l așa cum este.

Ne întoarcem la practica. asamblarea manuală a kernel-ului Linux

Acum, cu privire la configurația. Este cel mai consumatoare de timp procesul în ansamblul de bază: veți obține în utilitarul de configurare a kernel-ului Linux. Du-te la „tipul de procesor și caracteristici“ și pentru a găsi linia de „familia de procesoare“ (a se vedea. Screenshot).

asamblarea și configurarea kernel-ului Linux Manual

Trebuie să selectați tipul procesorului. Dacă nu sunteți sigur cu alegerea sau nu găsiți în această listă de procesor, puteți selecta tipul 586 sau 486. Dar înainte de aceasta, utilizați lspci de utilitate din pachetul pciutils. Rulați-l ca root și găsiți informații despre procesorul de ieșire. Pe computerul meu lspci afișează textul care conține următoarea linie:

Prin urmare, valoarea opțiunii „Familia de procesoare“, în cazul meu, este necesar să se precizeze în „Opteron / Athlon64 / Hammer / K8“.

Acum, fără a părăsi secțiunea „tipul de procesor și caracteristici“ opțiune pentru a localiza „Suport de memorie de mare“ (a se vedea. Screenshot)

asamblarea și configurarea kernel-ului Linux Manual

Valoarea sa implicită este setată la 4 GB. Și aceasta este cea mai bună opțiune dacă nu aveți mai mult de 4GB de RAM. Faptul că o mașină pe 32 de biți poate funcționa cu un maxim de 4 GB (2 ^ 32) de memorie fizică. În cazul în care suportul de memorie mai mult de 4GB, activați memoria virtuală. Și nu vă faceți griji, dacă vedeți că memoria doar ca 3.5GB. Dar de ce pe mașinile pe 32 de biți, suporturilor de platbandă 4GB RAM vedea doar 3.5GB de memorie disponibilă? Răspunsul este simplu: nucleul Linux imparte memoria fizică în două părți, una dintre ele este disponibil pentru aplicațiile de utilizator, și o mică parte din kernel-ul este rezervat. Utilități, care arată cantitatea de memorie RAM, un acces rezervat la memoria nucleului, pe acest lucru și veți vedea aceste 3.5GB notorii.

RAM dacă aveți mai mult de 4 GB, puteți activa suportul pentru până la 64GB de memorie. În acest caz, activați PAE (Physical Address Extension), care permite procesoare x86 să lucreze cu mai mult de 4GB RAM. Nu este necesar să-l includă, dacă nu aveți mai mult de 4GB RAM, deoarece PAE impune anumite restricții, și pur și simplu rulează un pic mai lent.

Acum du-te la "Device Drivers" - "Serial ATA și drivere ATA paralele".

asamblarea și configurarea kernel-ului Linux Manual

În această secțiune, aveți nevoie pentru a permite conducătorului auto să lucreze cu hard disk. Noile versiuni de Linux drive-urile IDE chiar mai vechi vor fi definite ca / ​​dev / sdXX. Pentru a determina driverul corect din nou va ajuta lspci de utilitate. Pe computerul meu, se spune acest lucru:

asamblarea și configurarea kernel-ului Linux Manual

Aceasta include suport pentru „suport AMD / Nvidia PATA“ și merge mai departe. Oh, și din moment ce Eu nu folosesc initrd driverul pentru unitatea de disc trebuie să fie activat în kernel-ul, de exemplu, (*) In loc (M).

Acum, du-te la secțiunea „suport pentru grafică“ (a se vedea. Screenshot).

asamblarea și configurarea kernel-ului Linux Manual

Du-te la secțiunea "Suport card de sunet" - "Advanced Linux Sound Architecture". În cazul meu, am o placă de sunet integrat, iar lspci a raportat:

Du-te înapoi la utilitarul de configurare a kernel-ului, găsit în lista de drivere de pe placa de sunet „Intel HD Audio“. Noi mergem acolo și să găsească o listă mare. O să fiu sincer - nu știu exact cum pentru a determina care versiune a listei este necesară. Pe cartea mea de sunet hardware-ul funcționează numai cu Realtek HD audio. Cu NVIDIA HDMI HD-audio și INTEL HDMI HD-audio - în orice. Cred că puteți lăsa-le pe toate sprijini, și ea va alege sistemul de dreapta.

Ne întoarcem la suportul plăcii de rețea în „Device Drivers - suport dispozitiv de rețea“. lspci nostru indispensabil spune:

asamblarea și configurarea kernel-ului Linux Manual

Astfel, numele modulului au învățat, rămâne să știe unde să-l găsească. Pentru mai multe informații despre placa de rețea prezintă un mic, dar util, utilitate ethtool. Acesta poate fi rulat prin specificarea unui singur parametru - numele interfeței de rețea. Nu voi da aici concluzia sa, doar să spun că există o astfel de linie:

Asta e bine. Selectați secțiunea „suport pentru dispozitiv de rețea“ sub-secțiunea „Ethernet (10 sau 100Mbit)“ și du-te la el. „Forcedeth“ din lista, desigur, nu este prezent, deoarece este numele modulului. Dar eu știu că cipul - nVidia nForce, asa ca alege „suport nForce Ethernet“ și faceți clic pe „Help“. In partea de sus va fi un șir de caractere „CONFIG_FORCEDETH“. așa - asta e ceea ce avem nevoie. Acum poti sa te duci la un nivel superior și pentru a elimina ciori cu „Ethernet (1000 Mbit)“ și „Ethernet (10,000 Mbit)“

Pe secțiunea „drivere dispozitiv“ este terminat. A lăsat nimic - permite sistemului de fișiere dorit. Du-te la secțiunea „Sisteme de fișiere“.

asamblarea și configurarea kernel-ului Linux Manual

Pur și simplu conectați în miezul tuturor sistemelor de fișiere. Amintiți-vă că, deoarece initrd, nu este utilizat, conducătorul auto a partiției rădăcină a sistemului de fișiere trebuie să fie compilat în kernel ((*) în loc de (M)).

Dacă aveți nevoie pentru a accesa datele de pe partiții NTFS, activați „FUSE (Filesystem în spațiul rezervat utilizatorului) sprijin“. Mai târziu, posibilitatea de a monta partițiile NTFS, va trebui să instalați pachetul ntfs3g. Puteți activa, de asemenea, opțiunea „CD-ROM / DVD“ sisteme de fișiere - „Suport pentru sistemul de fișiere UDF“.

Putem presupune că configurația kernel-ului, suntem aproape gata. Rămâne doar puțin mai atenua miezul de a merge la secțiunea „Kernel hacking“ și dezactivarea „Kernel depanare“. „Compilați kernel-ul cu indicii de cadru“ și „de depanare la distanță de peste FireWire devreme la pornire“

Asta e tot. Linux kernel-ului de configurare este completă și sunteți gata pentru a asambla. Ieșiți din utilitarul de configurare cu economisire de configurare și rulați următoarele comenzi:

Acesta este cel mai simplu de configurare grub prin: / dev / sda2 ar trebui să înlocuiți cu numele dvs. partiție rădăcină. (Nu "/ boot", și "/").

Puteți reporni acum cu noul nucleu. )

Posibile probleme.

Dacă nu introduceți driver-ul de pe hard disk sau nu specificați corect „root =“, kernel-ul nu va fi capabil de a monta partiția rădăcină, și în apropiere de posturile de Kernel de panică puteți găsi ceva de genul:

Ca urmare a acestei linii vor fi transferate în lista de unități detectate. Dacă hard disk-ul nu este printre ele, atunci trebuie să recompilați kernel-ul dvs. pentru a include driverele care lipsesc de pe hard disk. Dacă unitatea de hard disk în această listă sunt, atunci nu sunt identificați în mod corect valoarea „root =“.

Deci, de multe ori oamenii uita să includă suport pentru partiția rădăcină a sistemului de fișiere în kernel-ul, și este, de asemenea, o cauza de proastă funcționare a nucleului.

Clarificare.

Nu am folosit un sprijin initrd din acest articol. Și, cel mai probabil, nu va avea nevoie de ea, de asemenea. Dacă includeți driverele necesare în kernel-ul de pe sistemul de fișiere rădăcină și hard disk-ul, kernel-ul este destul de complet fără initrd.

În acest articol, eu în mod specific nu a vorbit despre cum să dezactivați funcționalitatea inutile, drivere suplimentare și alte modalități de a ușura kernel-ul, deoarece Scopul meu a fost de a construi o explicație _rabochego_ nucleu, iar în procesul de „Tuning“ este foarte ușor să-l mizerie, dacă nu știi exact ce să facă.

Cum să trăiască?

Mai târziu, dacă doriți să instalați cea mai recentă versiune a kernel-ului, nu trebuie să configurați kernel-ul Linux de la zero. Veți avea nevoie doar pentru a copia fișierul „.config“ din directorul sursei miezului vechi în noua și fac oldconfig echipa. Acesta „va ajusta“, în conformitate cu configurația vechi și noul kernel, cu excepția cazului în noua versiune are o nouă opțiune, se va cere să le includă sau nu. În cele mai multe cazuri, puteți lăsa toate implicit. Numărul de întrebări care trebuie să răspundă depinde de diferența dintre nucleele. După aceea, noul kernel va fi ușor de a colecta și de a copia la locația dorită.

De ce este necesar, la toate?

S-ar putea fi o întrebare legitimă, „ce naiba e tot ce vrei?“. Desigur, puteți instala kernel-ul deja colectate prin managerul de pachete al distribuției Linux, și va funcționa bine, deși va fi ușor „mai grasă“ configurat manual. Eu pot răspunde doar pentru mine. Eu o fac manual, deoarece în opinia mea, nucleul - componenta principală a oricărui sistem Linux și o înțelegere a acesteia, precum și capacitatea sa de a colecta sunt fundații indispensabile, deoarece cunoașterea regulilor de circulație pentru șoferul mașinii. Dar, chiar dacă credeți că altfel, această experiență este kernel construite manual vă va ajuta să înțeleagă mai bine sistemul dvs., și, astfel, mai în măsură să-l gestioneze, să sprijine în mod eficient și toate-toate;)


Vă mulțumesc pentru atenție!

Poate că sunteți interesat de aceste materiale:

> # Make menuconfig

De ce se întâmplă acest lucru? De fapt, am chiar programe prioritizeze-încărcate, spun browser-ul meu funcționează cu PRI = 30, Abi Word 25, LXpanel 20. Asta este, pe baza tuturor cărților despre alocarea timpului procesorului în Linux trebuie să urmeze că, odată ce prioritatea medie de proces (LXpanel PRI 20) solicitarea de ceva de sistem, atunci procesul cu prioritate ridicată (Chromium PRI 30) trebuie imediat să meargă la sfârșitul cozii de așteptare, și așteptați atunci când LXpanel va funcționa. În practică - crom s-au înecat într-o animație flash în 10+ tab-uri și totul a căzut nafig ...

Descrisă mai sus în Windach nenavisnyh (Windows NT) se întâmplă numai în cazul în care sistemul de gobbled băieții de memorie și iad atârnă în swap, după un joc infernal ... adică Ori de câte ori există zarezirvirovano biți pentru cpu sistemul în sine a lucrat chiar și la Task Manager (managerul de activități din Windows, în Htop Linux) apel și bang un proces.

pentru a Benn trebuie să sape mai adânc, și nu în direcția de Linux. De exemplu, firefox (da și alt browser) mai multe conexiuni deschise. La viteze mici, abundența de grafică, precum și faptul că aceste nave în Ajax sau Flash bekgraund - toate acestea conduc la visyak. De la culoare a fost, de exemplu, refuzul de APLE ca Georgia la suta la 100 la suta. Dacă aveți un procent din kernel - este fatală. Linux este un sistem perfect, dar aceasta depinde, de asemenea, de fier și de software-ul idioata.

Sunt noi și au descoperit recent că poți mai importante decât pur și simplu, hard disk-ul la un alt calculator și totul va funcționa fără gesturi suplimentare))) Am înțeles acest lucru se datorează faptului că kernel-ul implicit include suport pentru diferite chipset-uri pentru procesoare din aceeași familie ...