Compilazione Kernel Linux (Debian)

« Older   Newer »
 
  Share  
.
  1. NotAfraid
        Like  
     
    .

    User deleted


    ome Primo passo per la ricompilazione di questo kernel dobbiamo

    scaricare i sorgenti dal seguente link:

    www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.tar.bz2

    :: Secondo Passo
    ::.Scompattiamo i sorgenti

    Una Volta scaricato l`archivio .tar.bz2, copiamolo nella cartella
    /usr/src/.
    Una volta copiato posizionamoci dentro /user/src con il comando:

    cd /usr/src

    e lanciamo il comando:

    tar -xjf linux-2.6.35.tar.bz2

    Fatto questo creera` in /usr/src/linux-2.6.35 un albero di file
    sorgenti, detto source-tree; a questo punto creiamo il collegamento
    simbolico con il comando:

    ln -s /usr/src/linux-2.6.35 linux

    in modo da lavorare comodamente nella directory /usr/src/linux anziche`
    /usr/src/linux-2.6.35.

    :: Terzo Passo
    ::.Compatibilita` di sistema

    Prima di compilare il nuovo kernel dobbiamo accertarci che le versioni dei software siano compatibili con il nuovo kernel.
    Per Fare cio`, basta selezionare in un qualunque file manager la cartella “Documentation” in /usr/src/linux; apriamo il file “Changes” e in esso cerchiamo la sezione “Current Minimal Requirements”: qui controlliamo che le versioni del nostro software di sistema siano accettabili.

    :: Quarto Passo
    ::.Applichiamo le eventuali Patch

    Non e` strettamente necessario applicare delle patch, difatti questo passo e` facoltativo. Se pero` applicate le patch sia meglio che le applicate in
    modo giusto no? :) Ipotizziamo di avere una sola mega-Patch da
    applicare, contenuta nel file linux-2.6.35-ck7.patch (gia` scompattata).
    Posizioniamo il file .patch dentro /usr/src/linux e digitiamo il
    comando:

    cd /usr/src/linux

    patch -p1 < linux-2.6.35-ck7.patch E` inutile dire che le patch debbano riferirsi alla versione del kernel da compilare. ::Quinto Passo ::.Configurare il kernel Lanciamo il menu di configurazione con il comando: cd /usr/src/linux make menuconfig Compariranno anche le installazioni introdotte dalle patch , se le applicate. Questo e` il passo piu critico, in quanto basterebbe una scelta errata per corrompere tutto il funzionamento. In questo Passo dovrete scegliere che tipologia di kernel volete: monolitico o modulare. Ricordate comunque che alcuni pezzi del kernel sono compatibili solo come moduli. In giro si trovano molti documenti che sono pieni di consigli sulle impostazioni da dare, ma il kernel gia` di suo contiene le impostazioni predefinite base (che trovate gia` selezionate insomma). Di seguito scrivero` un minimo di indicazioni sulle impostazioni da dare (ricordate anche che il modo in cui e` strutturato il menu` di configurazione cambia spesso). Un consiglio principale e` quello di vedere le caratteristiche hardware della vostra macchina e seguire attentamente le spiegazioni dell`aiuto in linea delle varie voci del menu` di configurazione del kernel. Di seguito per risposta “YES” intenderemo la selezione (come modulo o direttamente compilato nel kernel) della corrispondente voce del menu di configurazione, mentre con la risposta “NO” intenderemo la voce lasciata o non selezionata. Nella sezione “enable loadable module support” la risposta “YES” definisce un kernel modulare, mentre la risposta “NO” un kernel monolitico. Se (quasi sicuramente) avete una macchina moderna, dovete sicuramente attivare il supporto PCI nella sezione “BUS OPTIONS”: PCI Support -> YES
    PCI Device name database -> YES

    Nella sezione “Networking Options” assicuriamoci che siano impostate su
    YES:

    Networking Packet Filtering -> YES
    TCP/IP networking -> YES

    Cercate e attivate tutte le opzioni che riguardano ATA/IDE per far
    funzionare il disco rigido.

    Nella sezione “File System” cercate ed attivate il supporto al tipo di
    filysystem che avetesul disco rigido, di solito e` ext3.

    Nella sezione “General Set Up” assicuriamoci che siano attive alcune
    opzioni un po` oscure ma importanti come “System V IPC” per consentire
    la comunicazione tra processi, “Sysctl support” per consentire
    l`accesso ad alcune parti del sistema da parte dei programmi che lo
    usano.

    RICORDATE: Prendete il vostro tempo..Nessuno vi mette fretta :) .
    La configurazione viene salvata nel file nascosto /usr/src/linux/.config
    e puo` essere richiamata quante volte vorremo:)
    Fate dei tentativi: Questa procedura che stiamo illustrando permette,
    in caso di errori di compilazione, di riavviare la macchina col vecchio
    kernel di sempre;

    ::Sesto Passo
    ::.Compilare il sorgente

    Una volta soddisfatti di come e` configurato il kernel si puo` passare
    alla compilazione vera e propria! (ora si usano gli strumenti Debian):

    cd /usr/src/linux

    make-kpkg -revision=prova.1.0 kernel_image

    Questo comando ci servira` per produrre un pacchetto Debian contenente
    il codice binario del nostro nuovo kernel.

    kernel-image-2.6.35_prova.1.0_i386.deb

    con “i386″ se utilizziamo una piattaforma x86.
    L`opzione “revision” e` importante per evitare che il gestore dei
    pacchetti vada a sostituire il nostro kernel personalizzato con un
    dist-upgrade. Ma Siamo ancora a 0! Perche` il kernel e` stato compilato
    si…ma ora bisogna installarlo!

    ::Settimo Passo
    ::.Installare il nuovo kernel

    Per installare il nostro kernel digitate:

    cd /usr/src

    dpkg -i kernel-image-2.6.35_prova.1.0_i386.deb

    NOTA: dpkg con l`opzione di installazione richiede di specificare il
    nome completo del pacchetto, come nell`esempio di sopra.
    Ora non ci resta che riavviare il sistema per far caricare
    automaticamente il nuovo kernel.
    Per verificare che e` in funzione il nuovo kernel digitate:

    uname -a

    Se percaso vorreste tornare al vostro vecchio kernel basta riavviare il
    sistema tenendo premuto il tasto SHIFT, comparira` un menu da cui
    potrete selezionare con i tasti cursore l`etichetta “LinuxOLD”, che
    corrisponde al vecchio kernel.

    La procedura di compilazione descritta, conducendo alla generazione di
    un pacchetto Debian del kernel personalizzato, contiene il vantaggio
    della facile portabilita` del kernel compilato, che si traduce in:

    - possibilita` di compilare il kernel di una data macchina su macchine piu`
    veloci (utile soprattutto in passato)
    - possibilita` di compilare il kernel di una data macchina su un’altra
    macchina di diversa piattaforma (cross compilation)

    La prima possibilita` e` stata sfruttata con successo dall’autore nel caso
    di un portatile che non ne voleva sapere di avviare il kernel
    dell’installazione Debian: il problema e` stato risolto compilando un
    kernel personalizzato (specificando l’hardware ed il processore del
    portatile) su un altro computer, passando poi al portatile il
    corrispondente pacchetto Debian, che una volta installato si e` avviato
    regolarmente.
     
    .
  2. SpiritFreedom
        Like  
     
    .

    User deleted


    tnx
     
    .
1 replies since 26/9/2010, 06:49   133 views
  Share  
.