Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

La natura non porta a termine la sua opera: ? caotica. L'uomo si sente obbligato a terminarla, cos? pianta un giardino e costruisce un muro di cinta.

Robert Lee Frost 

Sondaggio:

A tuo giudizio, riaprire le "casechiuse" ?...

Un modo per combattere la criminalit?
Un insulto alle donne
Una cosa da fare al pi? presto
L'ennesima stupidaggine di questo governo
Una cosa che non mi interessa

visualizza risultati


 

Ricompilare il kernel

Un accenno alla compilazione del kernel di Linux era doveroso. Il primo passo necessario è informarsi sulla versione più recente e procurarsi il codice sorgente. Digitando al prompt il seguente comando avremo le necessarie informazioni:

# finger @finger.kernel.org
[zeus.kernel.org]

The latest stable version of the Linux kernel is: 2.4.2
The latest beta version of the Linux kernel is: 2.3.99-pre9
The latest prepatch (alpha) version *appears* to be: 2.4.2-pre4

Il sito di riferimento è senza ombra di dubbio http://www.kernel.org dove è possibile scaricare il file compresso. Generalmente il codice viene archiviato con tar e compresso sia con bzip2 che gzip, algoritmi di compressione per ridurne le dimensioni. In entrambi i casi, una volta scaricati i file indicati, bisognerà digitare quanto segue:

# mv kernel-2.4.0.tar.bz2 /usr/src/
# cd /usr/src
# bunzip2 kernel-2.4.0.tar.bz2
# tar xvf kernel-2.4.0.tar

Sequenzialmente, abbiamo spostato le sorgenti del kernel nella directory /usr/src, decompresso il file .bz2 e l'archivio .tar. Verrà creata una directory linux/ dove sarà presente il necessario per produrre un kernel personalizzato.


Pochi semplici passi

Una volta scompattato il codice sorgente del kernel è necessario compiere le seguenti operazioni per la preparazione e compilazione di un kernel personalizzato:

  1. Rinominare la directory /lib/modules/2.x.x con un nome alternativo:

    # mv /lib/modules/2.<x>.<x> /lib/modules/2.<x>.<x>.old

    Dove <x> rapprsenta il nome versione, es 2.4.0.

  2. Posizionarsi nella directory /usr/src/linux e digitare uno dei seguenti comandi:

    # make config
    # make menuconfig
    # make xconfig

    Si tratta di interfacce utili per la configurazione del kernel. Una volta terminata quest'ultima viene creato un file nascosto .config che è appunto la nostra personale configurazione del kernel da compilare.

  3. A questo punto è necessario digitare quanto segue:

    # make clean
    # make dep
    # make bzImage
    # make modules
    # make modules_install

    E' possibile raggruppare i comandi per automatizzare l'intera procedura:

    # make clean dep bzImage modules modules_install

  4. In ultima istanza digitare:

    # make install

    per installare il kernel e i moduli compilati nella posizione adeguata. Possiamo ritrovare tutto nelle seguenti directory:

    /boot/System.map -> System.map-2.4.1
    /boot/System.map-2.4.1
    /boot/vmlinuz
    /boot/vmlinuz-2.4.0

    e i moduli in:

    /lib/modules/2.4.0

  5. Modificare il file "/etc/lilo.conf" (se viene utilizzato LILO) oppure "/boot/grub/menu.lst" (se si utilizza GRUB) per includere il nuovo kernel.

  6. Riavviare il computer.

In fase di compilazione è possibile digitare make zdisk (invece di make bzImage o make zImage) per compilare un kernel personalizzato e copiarlo in un floppy disk per il successivo test.

Le modalità descritte sono possibili per qualsiasi distribuzione GNU/Linux ma Debian offre alcuni vantaggi aggiuntivi tramite il pacchetto kernel-package:

# apt-get install kernel-package

Per ulteriori informazioni:

# man make-kpkg


kernel modulare o monolitico?

Durante la configurazione del kernel è possibile scegliere se produrre un kernel modulare oppure un kernel monolitico. La differenza è sottile e la risposta tra le due opzioni può essere unicamente fatta sulla base di scelte personale e sull'esperienza.

Un kernel modulare permette di scegliere i componenti da caricare durante le normali attività di amministrazione di sistema. Una scomposizione delle funzionalità che può coadiuvare la gestione delle risorse nonchè il passaggio di parametri durante il caricamento dei moduli. In contrapposizione, gestire i moduli richiede una minima esperienza e molti utenti novizi trovano problemi in tale argomentazione.

Utilizzare un kernel monolitico, a differenza di quello modulare, vuol dire avere un kernel compilato e raccolto in un unico file contenente le funzionalità scelte in fase di compilazione. Non produrrà moduli e correlatamente non sarà necessario acquisire esperienza nella gestione di quest'ultimi ma non si nasconde che la scelta potrà essere contraria alla "gestione ottimizzata di sistema", unità di misura invisibile per utenti comuni ma notevole per un'amministratore di sistema predilige inevitabilmente la flessibilità.

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2022 Cataldo Sasso