lunedì 14 aprile 2008

Ricompilare il kernel

Come si ricompila il kernel?

Che si tratti di installare una nuova versione o di ricompilare quella già in uso, magari per abilitare qualche caratteristica aggiunta, non fa differenza: la prima cosa da fare è procurarsi i sorgenti del kernel. Nel primo caso bisogna scaricarla dal sito www.kernel.org, nel secondo è possibile ottenerne una copia utilizzando il package manager della propria distribuzione o, in alcuni casi, prelevarla direttamente dai CD/DVD di installazione. In realtà, sempre dallo stesso sito è comunque possibile scaricare i sorgenti della versione in uso, ma prima è necessario scoprire di quale si tratta eseguendo il comando uname -r.
Utilizzando il package manager i sorgenti verranno automaticamente posizionati nella directory /usr/src, altrimenti bisogna trasferirli in questa cartella manualmente.

Prima di proseguire, ricordate che le operazioni vanno eseguite dalla shell e con i privilegi di root, quindi apriamo una console da Applicazioni/Accesori/Terminale (Gnome) o K/Sistema/Konsole (KDE) e diventiamo amministratori con sudo o sudo -s.
Consideriamo il caso di voler installare il nuovo kernel Linux 2.6.24.2. Per prima cosa copiamo il file che si chiama per esempio linux-2.6.24.2.tar.bz2 nella directory /usr/src, spostiamoci al suo interno con cd /usr/src e scompatiamolo nel modo seguente:

tar -xvjf linux-2.6.24.2.tar.bz2



Così facendo verrà creata una nuova directory chiamata linux-2.6.24.2 dove sono presenti i sorgenti del nuovo kernel. A questo punto, rinominiamo la cartella dandogli il nome linux e spostiamoci al suo interno:

mv linux-2.6.24.2 linux
cd linux

In alternativa, invece di rinominare la directory, è possibile creare un collegamento simbolico ad essa nel modo seguente:

ln -s linux-2.6.24.2 linux


A questo punto possiamo procedere con la fase di configurazione. I comandi disponibili sono diversi a seconda dell'interfaccia che si intende utilizzare: make config (completamente testuale), make menuconfig (semi grafica), make xconfig (per avviare il tool di configurazione nel file .config selezionando la voce di menu File/Save.
Infine, possiamo procedere con la fase di compilazione e installazione vera e propria eseguendo in sequenza i comandi seguenti:

make dep
make clean
make bzImage
make modules
make modules_install
make install

Questo è sufficiente per installare il kernel e aggiornare il boot loader (Grub o LiLo). Quella appena esposta è la procedura standard per l'installazione da zero di un nuovo kernel ma attenzione, alcune distribuzione forniscono metodi alternativi o, comunque, nel caso in cui si tratti di un semplice aggiornamento o del passaggio ad una release solo leggermente diversa, è possibile utilizzare anche la "vecchia" configurazione e alcuni comandi particolari per evitare di dover ripetere tutte le scelte manualmente.


Ultimi post pubblicati


Get Paid to    Blog About the Things You Love

no one    deals like we do!



Universo Linux


2 commenti:

Matteo ha detto...
Questo post è stato eliminato dall'autore.
Matteo ha detto...

su linux2.6 make dep non e` piu` necessario cosi` come make clean (se e` stato appena decompresso l'archivio) inoltre, come potete leggere da 'make help' tramite un unico comando 'make' o 'make all' e` possibile racchiudere il make bzImage e make modules. In conclusione per compilare un kernel 2.6 e` sufficiente eseguire 'make && make modules_install'

Social Bookmarking
Add to: Mr. Wong Add to: Webnews Add to: Icio Add to: Oneview Add to: Linkarena Add to: Favoriten Add to: Seekxl Add to: Kledy.de Add to: Social Bookmarking Tool Add to: BoniTrust Add to: Power Oldie Add to: Bookmarks.cc Add to: Favit Add to: Newskick Add to: Newsider Add to: Linksilo Add to: Readster Add to: Folkd Add to: Yigg Add to: Digg Add to: Del.icio.us Add to: Reddit Add to: Jumptags Add to: Upchuckr Add to: Simpy Add to: StumbleUpon Add to: Slashdot Add to: Netscape Add to: Furl Add to: Yahoo Add to: Spurl Add to: Google Add to: Blinklist Add to: Blogmarks Add to: Diigo Add to: Technorati Add to: Newsvine Add to: Blinkbits Add to: Ma.Gnolia Add to: Smarking Add to: Netvouz Information

Social Bookmarking