Se mi perdoni il privato, preferirei allegarti qualche suggerimento
che a me � stato uile. Si tratta di una mail privata che ho scambiato
con un amico di altra lista.
*** on Monday 25 August 2003 15:08, [EMAIL PROTECTED] wrote:
> Scusate il disturbo,
> E' la prima vola che mi trovo a dover compilare un kernel,
> ho letto da qualche parte che per compilare i kernel 2.4.xx si
> deve intervenire su alcuni pacchetti chiave quali gcc, libc s
> SysVInit e modificare alcuni file di sistema.
What? Non credo proprio! Al massimo devi rinominare le librerie dei
moduli, e (ma non � necessario) l'etraversion del makefile.
Per evitare di scrivere troppo ;-), ti allego quanto detto, tramite
copiaincolla:
*****
> - Copio da un'altra parte vmlinuz, System.map, Config rinominati
> (consiglio tuo)
yes, puoi anche semplicemente rinominarli (non occorre che li sposti
altrove).
Questo perche' nel caso che il kernel compili correttamente, lo
agganci a lilo e poi ti fa uno scherzetto da prete come ha fatto a
me, puoi tornare indietro come se niente fosse semplicemente avviando
con un floppy (o dal cd in rescue mode), rimettendo a posto i nomi
dei 3 files di cui sopra e dando nuovamente lilo -v. Questo ti
permette di salvarti le chiappe sempre e comunque senza rischiare di
combinare casini irreparabili ;)
> - Stessa sorte per la /lib/modules/2.4.x (sempre roba tua).
yes, vedi sopra
magari non e' necessario, ma te lo dico lo stesso. Se stai compilando
un nuovo kernel (ossia non stai ricompilando quello che gia' usi)
spostati nella dir /usr/src e rimuovi il link 'linux', quindi
decomprimi il nuovo kernel nella stessa dir dove ti trovi e ricrea il
link che punti al nuovo kernel. In soldoni (ammettendo che ti stia
compilando il 2.4.21):
cd /usr/src
rm linux
(rimani nella dir dove sei)
tar xvfz
/percorso/dove/hai/scaricato/il/kernel/compresso/linux-2.4.21.tar.gz
ln -s linux-2.4.21
quindi entra nella dir dei nuovi sorgenti ('cd linux'). Ok, andiamo
avanti:
> - #make mrproper
meglio di no... questo comando oltre ad eliminare residui di
precedenti configurazioni ti cancella anche il file .config che
contiene la configurazione precedente del kernel. Alcune volte puo'
essere una scelta cosapevole, ma altre (ad esempio se vuoi solo
correggere qualche piccola cosa) e' un suicidio perche' ti tocca
ricominciare la configurazione da capo.
Se dovesse accadere accidentalmente, il file puoi recuperarlo dal
config che hai rinominato nella dir /boot (ovviamente questo fa
riferimento al kernel che ha generato, quindi e' relativo al vecchio
kernel)... oggi mi spiego come un cane col labbro leporino, pardon!
> - #make xconfig (considera il mio livello..)
meglio 'make menuconfig' (anche se non sei espertissimo) da consolle
che e' semi-grafico e ti permette di evitare di avviare x (fai le
stesse cose muovendoti con le frecce anziche' col mouse senza la
necessita' di avviare il server grafico che e' peeeeeeesante ;) ).
> - # vi /usr/src/linux-xxxx/Makefile
> (nella riga EXTRAVERSION metto la data al nome del nascituro kernel)
se vuoi, ma non e' necessario.
> - #make dep
Ok
> - #make clean
non importa. Questo comando ti serve solo per eliminare i "residui" di
vecchie compilazioni. Diventa necessario qualora, a fronte di una
ricompilazione andata male o non terminata, stessi ricominciando la
procedura da capo facendo qualche modifica in make menuconfig. Se i
sorgenti sono "vergini" (leggi appena scompattati) e' del tutto
inutile usare make clean... male non fa, ma e' superfluo.
> - #make bzImage > LOG-k 2> grattachecca
Bravo (fra un po' eviterai di registrare i messaggi della
compilazione, ma adesso che e' la prima volta, se dovessero spuntare
fuori errori, in questo modo puoi postarli senza problemi)
> - #make modules > LOG-m 2> fichetto
Benissimo
> - #make modules_install
Yes sir
> - #make install
senti... ascolta me, facciamo le cose per benino. Non usare 'make
install', ma fai le cose a manina che almeno sappiamo cosa abbiamo
fatto.
Terminata l'installazione dei moduli tu sei ancora in /usr/src/linux.
Copia nella dir boot i seguenti files:
.config (lo trovi nella dir dove sei), rinominandolo 'config-2.4.21'
System.map (idem come sopra), rinominandolo 'System.map-2.4.21'
bzImage (lo trovi in /usr/src/linux/arch/i386/boot/ ed e' il nuovo
kernel!!!), rinominandolo 'vmlinuz-2.4.21'
Fino a qua niente di complicato mi pare. A questo punto, spostati
nella dir /boot e cancella i vecchi link (verifica che siano dei link
con 'ls -la', se non lo fossero limitati a rinominarli):
cd /boot
rm vmlinuz
rm System.map
rm config
ricrea i nuovi link che puntino al nuovo kernel:
(sei in /boot)
ln -s vmlinuz-2.4.21 vmlinuz
ln -s System.map-2.4.21 System.map
ln -s config-2.4.21 config
Verifica che lilo faccia riferimento effettivamente a 'vmlinuz' come
immagine di avvio (dovresti avere in lilo.conf una riga del tipo:
'image=/boot/vmlinuz' se non e' cosi' correggila in questo modo).
Chiudi lilo.conf, quindi il solito 'lilo -v'.
Riavvia e godi (o piangi) ;))
> Se tutto va bene (se...) controllo il nuovo /etc/lilo.conf, e
> riavvio, con le mani dove sai. Pu� andare?
Vai libero
> Attendo fiducioso risposta, e intanto leggo qualcosa sui
> moduli, che non ne so niente (mi consigli di mettere i supporti USB
> modulari o statici?
meglio modulari
> La stessa richiesta per il driver sonoro).
anche questo modulare.
WARNING: ricorda di compilare in modo statico *tutti* i filesystem che
ti servono [non solo i fs di linux (non so cosa usi, reiser? ext2?
ext3?) ma anche l'eventuale fat, vfat ed il supporto ad ntfs senno'
non funzia nulla al riavvio].
*******
Mi sembra ci sia tutto.
> Domanda numero due: ho un portatile su cui ho installato linux, non
> mi riconosce la pcmcia e va in kernel panic all avvio, quali moduli
> del kernel devo configurare?
Quelli delle schede pcmcia, naturalmente.
> Il pc � un compaq presario 907ea, il
> kernel che ho scaricato � il 2.4.21 pu� andare bene?
Non ho il portatile, ma qualsiasi kernel liscio ed in versione stabile
(e quello � l'ultimo stabile!) va bene.
Un ultimo consiglio: leggi quanta pi� doc possibile in
/usr/src/linux/Documentation.
Ciao
--
*****************************************************
* I'm bombadur the dwarf, and this is my axe ! *
* *
* Coltivate Linux, tanto Window$ si pianta da solo *
*****************************************************