Pagina de start a forumului upgradeteam.MyForum.ro  
FAQ Cautare
Membri Grupuri
Profil Mesaje private
Inregistrare Autentificare
Compilare kernel
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului upgradeteam.MyForum.ro Unix / Linux
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
luyzette
Administrator
Administrator


Data inscrierii: 06/Feb/2009
Mesaje: 71

MesajTrimis: 07/02/2009 13:54    Titlul subiectului: Compilare kernel Raspunde cu citat (quote)

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 !

:-D
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului upgradeteam.MyForum.ro Unix / Linux Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
ezHyperShadow template - a boo design Original ezHyperShadow theme by boo ©2004 www.ez-life.net
Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro