Cum sa..

Cum sa compilam o noua versiune de kernel pe Debian sau Ubuntu

28/11/2011

Mi-am propus sa va aduc  multe rubrici noi astfel incat sa gasiti cele mai diverse si frumoase informatii pe aici alaturi de lucrurile despre care va vorbesc de doi anisori. O rubrica noua pe care o gasiti deja si in meniu se numeste ‘‘Cum sa ..” si aici veti primi diverse sfaturi care sper sa va fie utile. Maestrul de ceremonii al acestei rubrici este nimeni altul decat DEXTER.

Asadar inaugurez aceasta rubrica cu primul post despre cum sa compilam o noua versiune de kernel pe Debian sau Ubuntu:

Pentru asta ii dau cuvantul lui DEXTER :

In cele ce urmeaza ,voi incerca sa explic cum se recompileaza un kernel,astfel incat sa inteleaga toata lumea.De ce recompilam kernelul ?Pentru ca putem.Da pe linux putem face asta .

Un alt motiv pentru care uneori suntem nevoiti sa recompilam kernelul este acela de a avea suport pentru diverse componente ale calculatorului(placa de retea ,placa de sunet,video).In concluzie ,il recompilam pentru a putea rula pe diverse configuratii de calculatore.

De ajuns cu atata vorbarie si sa ne apucam de treaba.

Pentru asta avem nevoie de unele tooluri si pachete. Ca sa le obtinem vom da urmatoarele comenzi in CLI(command-line interface) dupa cum urmeaza :

sudo apt-get update

sudo ln -sf /bin/bash /bin/sh

sudo apt-get install build-essential

sudo apt-get build-dep linux

sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2

CLI e un fel de command prompt din windows ,doar ca e ceva mai avansat(mult mai avansat).

Dupa ce obtinem toate aceste tooluri vom schimba directorul de lucru cu urmatoarea comanda:

cd /usr/src

Facem asta deoarece compilarea kernelului se realizeaza in acest folder specific.

Urmatoarele comenzi ne vor ajuta sa downloadam sursele kernelului si sa dezarhivam:

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz2

tar jxvf linux-3.0.tar.bz2

ln -s linux-3.0 linux

Acum vine partea cea mai “distractiva” ,adica configurarea noului kernel. Pentru inceput recomand sa folositi configuratia kernelului care ruleaza deja.Vom scrie in CLI dupa cum urmeaza:

cp /boot/config-`uname -r` ./.config

Urmatoarea comanda ne va duce in meniul de configurare a noului kernel:

make menuconfig

Navigati pana la Load an Alternate Configuration File si alegeti .config . Dupa asta se poate naviga prin optiuni astfel incat vom ajunge sa ne personalizam kernelul asa cum dorim. Se poate adauga suport pentru diferite componente, in functie de kernel sau se poate elimina suportul pentru componentele pe care nu le avem in pc.

Dupa ce am terminat de configurat kernelul, va trebui sa alegem “Exit” si raspundem cu “Yes” la intrebarea:

“Do you wish to save your new kernel configuration?”

Inca putin si e gata de compilat :

make-kpkg clean

fakeroot make-kpkg –initrd –append-to-version=adoldo-custom kernel_image kernel_headers

Dupa –append-to-version se poate pune orice dorim pentru a identifica noul kernel, dar trebuie sa inceapa cu un minus (-) si sa nu contina spatii.

Si incepe compilarea….Dupa ceva timp(in functie de calculatoru fiecaruia) vom putea instala noul kernel. Ne putem bea cafeaua linistiti sau un vin rosu.

Dupa terminarea compilarii in /usr/src se va gasi un pachet cu extensia “deb”

Pentru instalarea noului kernel va trebui sa fim in acest folder :

cd /usr/src

dpkg -i linux*custom*deb

Iar la final

sudo update-grub

Si ar mai trebui facuta si verificarea(nu e obligatoriu):

uname -a

cat /proc/version

Acestea fiind spuse,nu pot decat sa va urez mult succes la compilarea kernelului.Daca aveti nelamuriri sau vreti explicatii mai detaliate,puteti posta aici iar eu voi incerca sa va raspund in masura de timpul de care dispun.

Va urma :  Cum sa .. intri in windows in cazul in care ti-ai uitat parola. !!!Atentie : aceasta metoda nu va necesita schimbarea ei sau orice alte chestii foarte complicate 😉  

Asa ca stati pe aproape si    

Have Funk!

ARUNCA O PRIVIRE SI PE

facebook comment(s)

19 Comments

  • Reply G.C.M. 28/11/2011 at 22:50

    Mult succes cu noua categorie!
    Tre’ sa invat si eu ceva “chino-indo-japoneza” d-asta…

    • Reply Cris-Mary 28/11/2011 at 22:54

      :)) Daca nu folosesti linux..e ok ..nu-ti trebe 🙂 Lasa ca urmeaza si lucruri mai usoare si folositoare:)

  • Reply Peter 29/11/2011 at 07:03

    E bună şi-o lecţia din asta!

    • Reply Cris-Mary 29/11/2011 at 09:04

      Orice lectii sunt bine venite 😉

  • Reply madMe 29/11/2011 at 11:30

    @-) Și eu care ziceam că sunt “tehnică”. 😀 Super idee, keep up 😉

    • Reply Cris-Mary 29/11/2011 at 11:52

      :* Multumesc madMe , tehnicul este DEXTER 🙂

  • Reply Twigg 01/12/2011 at 22:27

    Pe mine m-ai pierdut din titlu, nici nu stiu ce inseamna compilare, kernel sau debian. Apropo, kernel nu e legat de nod32 ? pff, sunt praf..

    • Reply Cris-Mary 02/12/2011 at 09:57

      Dexter a raspuns in stilul caracteristic 🙂 Hehe ..

  • Reply DEXTER 02/12/2011 at 09:01

    Probabil ca explicatia de jos te va lumina putin :


    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 , oferi 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 ( deoarece 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 pachet , aplicatie care ne ofera o interfata vizuala acceptabila , infara consolei.”

    • Reply Twigg 02/12/2011 at 10:24

      @Detxer: cat ma costa sa ma inveti backtrack ?

  • Reply DEXTER 02/12/2011 at 10:35

    Nu te costa nimic.Vrei sa faci prostioare ,huh?:P

  • Reply DEXTER 02/12/2011 at 10:37

    Costurile de fapt sunt doar : rabdare ,vointa,dedicare si timp.Astea sunt mult mai pretioase decat banii.

    • Reply Twigg 02/12/2011 at 12:53

      @Dexter: Nu fac prostii, e curiozitate; sa-mi spui unde sa ma prezint si cand.

      @Crissu: cum facem cu pc-ul pt orfani ?

      • Reply Cris-Mary 02/12/2011 at 12:55

        😀 te anunt cand incepem colectarea si ne intalnim undeva sa mi-l dai . Eu de obicei merg unde vrea omul ca nu vreau sa pun pe nimeni pe drumuri 🙂 O sa-ti trimit un mail cu telefonul meu si ziua cand ne putem intalni. Multumesc frumos de ajutor 😀

  • Reply DEXTER 04/12/2011 at 09:52

    @Twigg ,uite un link cu o carte care sigur iti va placea.Cel putin mie mi-a placut la nebunie.

    http://www.mediafire.com/?qnnndjh3kaa6wcl

    Sa imi zici cam la ce nivel de linux esti ,pentru ca backtracku este de fapt o distributie de linux cu multe programe “interesante” cu care iti poti testa reteaua,sa vezi daca e vulnerabila atacurilor sau poti sa testezi reteaua altora.:P

  • Reply Cristian 09/05/2012 at 03:04

    Cris-Mary, nu mai face copy paste, daca stii ca nu te pricepi nu scrie, nu ii mai induce in eroare pe altii…daca cineva o sa aibe o nelamurire si te intreaba o sa dai din umeri…

    Twigg, nimeni nu te poate invata backtrack, e ca si cum ii ceri cuiva sa te invete o schema tare apoi intri in ringul de box cu cineva care are o experienta castigata prin mult antrenament, o sa te faca praf!

    • Reply Cris-Mary 09/05/2012 at 11:20

      Bine ai venit Cristian, acest post a fost scris de un prieten si tot el raspunde si la comentariile pe seama acestui articol.

  • Reply Dexter 12/10/2012 at 19:32

    Deci Cristian nu trebuie sa te iei de Cris-Mary.Ea a postat ce i-am dat eu in ideea sa ajute pe cei care nu cunosc.Eu voi raspunde la intrebarile legate de acest tutorial si alte intrebari din domeniul networking-ului sau IT-ului ,in limita timpului disponibil.

    Multumesc.

  • Leave a Reply