Il kernel Linux è un software libero distribuito con licenza GNU General Public License; è stato creato nel 1991 da Linus Torvalds. Integrato con il Sistema GNU, sviluppato da Richard Stallman, ha dato vita al sistema operativo GNU/Linux (chiamato comunemente con il solo nome Linux).
Il kernel è il "cuore" di un sistema operativo (nucleo) e fornisce tutte le funzioni essenziali per il sistema, in particolare la gestione della memoria, delle risorse del sistema e delle periferiche, assegnandole di volta in volta ai processi in esecuzione. La controparte del kernel è la shell, ovvero l'interfaccia utente del sistema, la parte più esterna. I programmi chiedono le risorse al kernel attraverso delle chiamate (system call) e non possono accedere direttamente all'hardware. Il kernel si occupa quindi di gestire il tempo processore, le comunicazioni e la memoria distribuendole ai processi in corso a seconda delle priorità (scheduling) realizzando così il multitasking.
Introduzione tratta da Wikipedia, per una lettura completa clicca qui
Vediamo come compilare un kernel:
Rechiamoci sul sito http://www.kernel.org/
A questo punto dobbiamo scegliere quale versione di kernel abbiamo bisogno. In questo sito troviamo solo le versioni vanilla (pure, senza patch). Personalmente scelgo sempre la "latest stable version" ovvero l'ultima versione stabile (che in questo momento è 2.6.36.2). Qui potete trovare una FAQ con tutte le domande più comuni.
Ovviamente la scelta di un kernel rispetto ad un altro cade dinnanzi alle caratteristiche (magari un kernel ha qualche modulo in più rispetto una versione precedente, o ha disponibili patch particolari per hardware particolari).
Una volta scaricato...
...basta decomprimerlo nella cartella /usr/scr in modo da avere una cartella stile /usr/src/linux-2.6.36.2
Da terminale posizionarsi su /usr/src/linux-2.6.36.2 (ovviamente la versione del kernel da voi scelto) e dare il comando
make xconfig (se volete il config grafico su kde)
make gconfig (se volete il config grafico su gnome)
make menuconfig (se volete il config testuale su terminale)
E ora come configuro il kernel?
Eheh qui bisogna provare, sbagliare ed imparare
Per prima cosa andiamo ad abilitare le nostre periferiche (che ovviamente sono indispensabili) poi in un secondo momento andiamo ad integrare moduli che ci potranno servire e togliere moduli inutilizzati (ad esempio se si ha un processore AMD è inutile andare a inserire moduli riguardanti INTEL)
Una buona lettura che mi ha messo sulla retta via è stata questa (tratta da "documentazione gentoo")
Mentre questo è un estratto del nostro forum: http://linuxmx.altervista.org/new/forum/viewtopic.php?f=8&t=62&start=10#p203
Una volta configurato è importante salvare il file .config nella cartella del kernel e da terminale dare il comando:
make
make modules
make modules_install
make install
Un piccolo riassunto/script per velocizzare il processo di compilazione kernel potrebbe essere:
#scarico l'ultimo kernel in formato .tar.bz2
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.4.tar.bz2
#decomprimo in /usr/src/
tar -xvf linux-2.6.35.4.tar.bz2 -C /usr/src/
#mi posiziono nella cartella del kernel
cd /usr/src/linux-2.6.35.4
#configuro il kernel
make xconfig
#inizio la compilazione/installazione
make
make modules
make modules_install
make install
1- openSUSE
Su questa distro è possibile andare a creare direttamente un pacchetto rpm, eseguendo le fasi 1, 2 e 3 e poi (una volta posizionati nella cartella del kernel) dando il comando:
make rpm
per poi andarlo ad installare con
rpm -ivh cd /usr/src/packages/RPMS/x86_64/kernel-2.6.35.40.1desktop-1.x86_64.rpm
2- Ubuntu
Su questa distro è possibile andare a creare direttamente un pacchetto deb, eseguendo le fasi 1, 2 e 3 e poi (una volta posizionati nella cartella del kernel) dando il comando:
#se si ha un sistema multiprocessore vengono eseguite più compilazioni in parallelo
export CONCURRENCY_LEVEL=2
#Qualora i sorgenti fossero già stati compilati in passato e si desiderasse ripulirli
make-kpkg --rootcmd fakeroot clean
#il comando per creare il pacchetto .deb
make-kpkg --rootcmd fakeroot --initrd kernel_image kernel_headers modules_image
In seguito per installare tale pacchetto basterà dare sempre da terminale:
sudo dpkg -i linux-headers-[VERSIONE_DEL_KERNEL].deb
sudo dpkg -i kernel-image-[VERSIONE_DEL_KERNEL].deb
Per una lettura pià approfondita consiglio il wiki di ubuntu-it
Nb. Personalmente su mandriva o opensuse ho sempre compilato da root mentre su ubuntu no.
Mae89...
LinuxDAY 2013

26 ottobre 2013
Innovazione. Di tutti. Per tutti.
18.09.13 - 20.09.13
Linux Plumbers Conference
26.10.13
Linux Day 2013
28.10.13
openSUSE 13.1
01.07.14 10:30 am - 11:30 am
openSUSE 13.2
01.03.15 10:30 am - 11:30 am
openSUSE 13.3
![]()
LinuxMX è un sito creato da Maestri Carlo.
Questo sito non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001
Tutti i contenuti del sito sono disponibili con una Licenza Creative Commons CC-BY-NC-SA
Tutti i loghi e marchi registrati presenti in questo sito sono di proprietà dei rispettivi proprietari.