|
luyzette
Administrator

Data inscrierii: 06/Feb/2009
Mesaje: 71
|
Trimis:
07/02/2009 13:54 Titlul subiectului:
Compilare kernel |
|
|
Salut !
Voi prezenta o problema "frecventa " , care apare la incepatori cat si la ceilalti , cand vine vorba : " A aparut kernelul ala nou " vanilla " si vreau sa-l am si eu pe server.( Desigur in paralel cu cel vechi , ca la posibile "erori - kernel panic" sau diversitati .. sa putem intra pe cel vechi.
Am auzit ca aceasta problema este complicata , si useri noi au dificultăți si o lasa balta.Nu este asa , cel mult in 2-3 ore , daca-ti bati capul , ( + download peste 30 de mega de sursa kernel ) , scapi si de erori , kernel panic-uri si restu , si poti boota elegant dupa kernelul nou.
Pentru a putea intelege mai bine , trebuie facute niste referiri la kernel , rolul acestuia si unele lucruri , care sunt intelese uneori gresit de "incepatori".
Ce este defapt kernelul ?
Asta e intrebarea , pe care multi o rateaza din start.
-kernel este nucleul sistemului de operare . E bine , mai departe , adica ?
-Practic , nucleul , adica kernelul este o aplicatie ( low-level ) care are rolul de a "sa zicem" controla , dărui access la hardware.Cineva trebuia sa faca asta.
-Practic daca citim definitia sistemului de operare , observam ca kernelul Linux ( numit nativ Linux la inceput ) este un OS ( mai primitiv ) care nu are sofisticarii , ci doar face treaba de OS ( no interfata grafica , etc ).
-Fara sa intram in detalii distro-urile ( distributiile Linux ) gen Fedora , Ubuntu ,Debian ( am ales mai cunoscute ) , care sunt UNIX-like ( pentru că nu au cumparat / platit numele ) , rezolva completarea nucleului ( OS-ul ) , adaugandu-i pachete , GUI , posibilitati ce fac ca acesta sa fie mai usor de folosit si manuit.GUI este decat un colet , aplicatie care ne ofera o interfata vizuala acceptabila , infara consolei.
Ne tot tinem la vorba , hai sa trecem la compilarea propiu-zisa.
Ce avem de facut
Practic întâia data trebuie sa ne hotaram daca vrem defapt sa punem acel kernel nou , are vrun rost ? ne ajuta ? nu ne ajuta .. vrem doar sa invatam ?
Sa zicem ca am trecut peste prima parte ( peste care multi sar ) , si am ajuns la partea a doua.E relativ modest , daca vrem un nou kernel ( fie alternativ ) , pe sistemul nostru , avem nevoie de o sursa de kernel. ( Daca vrem sa instalam o aplicatie , intai downloadam pachetul ).
De unde ? ( Avem destule surse de kernel ) . Voi oferi mai jos niste link-uri :
http://www.linuxhq.com/ ( kernelul curent adica , chiar de azi 20-septembrie este : 2.6.18 si-l puteti lua de aici :
ftp://ftp.kernel.org/pub/linux/kernel/v ... 18.tar.bz2
Daca nu vreti cel curent , puteti alege dintr-o arhiva impresionanta de kernele 2.6 de aici : http://www.linuxhq.com/kernel/v2.6/index.html
il puteti gasi si aici : http://kernel.org
Voi da exemplele pe kernelul de azi 2.6.18 - 20 sept 2006
Download kernel
Ca sa nu ne chinuim prima data dam un cd /usr/src ( pentru a intra in directorul propice de download kernel ) apoi ( presupunem ca dorim ultima versiune 2.6.18 ) il downloadam in /usr/src unde suntem acum :
wget ftp://ftp.kernel.org/pub/linux/kernel/v ... 18.tar.bz2 Atentie : acest tutorial e de acum exemplat pentru versiunea de kernel 2.6.18 , si downloadul acestei versiuni , este un exemplu , daca doriti alta versiune , nu ezitati sa incluiti dupa model , nu poate fi greu , nici pentru un incepator.
Fitit sigur ca aveti macar minimul necesar de programe pentru a putea compila kernelul cel nou
- GCC , este neaparat , deoarece este întrebuințat la compilarea propiu-zisa a noului kernel .
Daca folositi Debian folositi comanda :
apt-get install gcc pentru a downloada si instala gcc.
Daca folositi Fedora folositi comanda :
yum install gcc
Desigur , se poate instala si in alte maniere , dar am dat un exemplu rapid , pentru ca incepatori sa nu aiba nereguli inca de aici ( Desi practic , GCC-ul ar necesită sa fie deja instalat , daca este e bine ).
Dupa ce ati downloadat sursa kernelului decompresati ( pwd arata tot /usr/src cu bzip2 -d [sursa kernel.tar.bz2] apoi dezarhivati cu tar -xvf [sursa kernel.tar] apoi intrati in acest director cu cd [sursa kernel] .Parantezele patrate nu se pun :P.
Configurare kernel
Acum ii configuram optiunile , care vrem sa le includa noul kernel .
Folosim comanda make menuconfig din directorul sursei ultimului kernel , care va face cateva chestii apoi va aparea o fereastra , modificam pe acolo apoi dam exit de jos de tot , si daca cere save , ii dam save ( la sfarsit ).
Mai sunt si alte comenzi gen : make xconfig , din GUI pe KDE sau make gconfig , din GUI pe Gnome.
Compilare propiu-zisa
Acum urmeaza compilarea propiu-zisa a kernelului cu urmatoarele comenzi , in ordine :
* make
* make modules
* make modules_install
* make install ( instalare proiu-zisa kernel ).
Daca pe parcursul acestor operatii intampinam erori , care duc la stoparea imediata a proceselor de compilare / instalare , trebuie sa verificam daca avem programele necesare pentru noul kernel.Sunt mai numeroase de discutat si nu intru in detalii , se gasesc ..
Comenzile de mai sus vor instala trei fisiere in /boot . Uitati-va si veti observa.
Daca folositi GRUB dati update-grub , restart si Evrika , new kernel .Daca folositi lilo , poate va descurcati si voi , v-am dat greul , ramane pe voi ..
Spor !
 |
|