[hack] Re: filesystem

Elisa lab@kkk.it
Dom 13 Lug 2003 18:36:46 CEST


On Sun, Jul 13, 2003 at 12:37:39AM +0200, thomas wrote:
> Eventualmente volessi ricompilare il kernel (tanto prima o poi bisogna farlo 
> tutti), che devo fare? Da dove si comincia? Nel mio caso ne vale la pena?
> 
> Ciao
> 
> Thomas

Difficile a dirsi, sta a te (a seconda di quello che vuoi fare) decidere
se vale la pena oppure no. In linea generale, la ricompilazione permette
di ottimizzare la tua installazione, quindi a mio *modestissimo* parere
andrebbe sempre fatta.
Per ricompilare hai bisogno di diverse cosette: il sorgente del kernel,
alcuni programmi (make, le binutils e un compilatore, di solito gcc),
e un po' di tempo libero :)

Per quanto riguarda il sorgente, hai due possibilita'. Nei cd c'e' 
solitamente il sorgente della tua distribuzione, puoi installarlo e ti 
mettera' tutto quello che serve nella dir /usr/src/linux. Oppure puoi
scaricare un sorgente piu' aggiornato dal sito www.kernel.org e
scompattarlo, *sempre* in /usr/src, ti creera' lui la dir /linux al suo
interno.
Fatto questo, in /usr/src/linux troverai sicuramente un file README, da
leggere con molta molta attenzione perche' c'e' spiegato chiaramente
tutto quello da fare: l'importante e' che i comandi siano sempre dati
da /usr/src/linux, e da root, non si puo' fare da utente normale.
Brevemente:

- il primo comando da dare e' make config, serve a definire tutte le
cose da includere nel kernel e funziona a domande e risposte (si, no,
modulo) da linea di comando. Alternative sono make menuconfig (una
specie di ambiente grafico con dei menu) e make xconfig (basato su x).
Gli ultimi due sono piu' comodi perche' ti permettono di tornare
indietro e modificare le tue risposte, il primo no. Ovviamente devi
conoscere molto bene la tua macchina per rispondere alle domande.

- dopo si esegue make dep. Questo serve a raccogliere e controllare
tutte le dipendenze.

- il comando successivo, ma non obbligatorio, e' make clean. Serve a
"ripulire" eventuali files prodotti da ricompilazioni precedenti, ma se
non ne hai mai fatta una ovviamente puoi saltarlo... nel dubbio, male 
non fa :)

- il kernel si compila con make zImage. La procedura dura un po' di
solito, e ti crea un file che si chiama zImage, ed e' l'immagine
compressa del kernel. Il file lo trovi nella dir
/usr/src/linux/arch/i386(se hai un 386)/boot

- se hai configurato dei moduli, ora devi fare make modules, rinominare
la directory dei moduli precedenti (mv /lib/modules/versione_del_kernel
/lib/modules/versione_del_kernel.old) altrimenti i moduli vengono
caricati sbagliati, e poi make modules_install. Per sistemare le
dipendenze dei moduli nuovi, fai depmod -a

- copi la tua immagine in /boot, insieme al file System.map-X.X.XX che
pero' non ricordo dove viene creato, scusa... ricorda di tenere anche
l'immagine precedente cambiandole il nome, cosi' se qualcosa non va puoi
recuperare quella.

- modifica lilo.conf aggiungendo una sezione per l'immagine vecchia e
controlla che sia giusto il nome di quella nuova, e fai /sbin/lilo per
aggiornarlo

- riavvia e incrocia le dita :)

Alla faccia della brevita', chiedo scusa :)

Spero sia tutto chiaro, e soprattutto tutto giusto, spero di avere
conferme da qualcun altro. Se hai bisogno di altri chiarimenti, chiedi
pure!


-- 
LaB

***
GnuPG KeyID: DFCA51D6
***



Maggiori informazioni sulla lista golem-hack