Newsgroup: it.comp.os.linux.iniziare
Titolo: Kernel, qualche domanda...

Sto un usando da un po' Linux, con Slackware 9.1, e sto provando a fare
l'aggiornamento al kernel 2.6.2.
Ho fatto un po' di prove, guadando anche il readme fornito
col kernel e il risultato di 'make help'.
Ho controllato '/etc/rc.d/rc.modules ', e ho decommentato i moduli che mi
servivano, aggiungendo quelli non presenti, eho aggiunto il probe di quelli
che mi servivano.
Alla fine, ho provato sia make xconfig che make gconfig che make menù config
e make old config (in pratica non ho provato solo make config), e quello con
cui mi trovo meglio è make menù onfig. Mi sembra quello più chiaro e quello
organizzato meglio.
Riassumendo, credo che la sequenza più adatta (e quella che ho usato) sia:
mproper se voglio ripartire con la dir del kernel assolutamente pulita,
tenendo salvato eventualmente da qualche altra parte un file .config
precedente
make menuconfig
make bzImage
make modules
make modules_install
make clean (conviene usaro qua per liberare i files di compilazione anche ei
moduli oltre che quelli del kernel, no?)
Ho seguito questi passi, copiando poi il kernel e il System.map in /boot/, e
funziona tutto bene.
Prima usavo ALSA fornito con la distro, mentre ora quello del kernel, come
modulo, e funziona.
Un problema è però che facendo 'dmesg' noto che all'avvio si tenta di
caricare alcuni ,moduli sonori (immagino siano oss o qualcosa del genere...)
che on vengono trovati... Devo approfondire, anche perchè ho provato a
mandare in play da Xine un file AC3, che prima funzionava, e non parte
(controllando i messaggi generati in console, sembra che si tenti di usare
dei moduli OSS per lo scopo, che non vengono trovati, anche se ho
specificato in Xine di usare ALSA....).
Ci sono ancora alcune cose che vorrei chiarire però:
1) Cosa contiene esattamente System.map? I nomi e le posizioni dei moduli?
2) Devo copiarlo o no in /boot? Non ho capito quell'altra cosa che è stata
citata, al postodella copia di System.map.
3) Devo copiarlo ogni volta che ricompilo anche una stessa versione del
kernel, anche se non ho cambiato nulla nei moduli, etc...?
4) C'è qualche file init che indica quale System.map leggere all'avvio o
cosa?
5) System.map è generato quando compilo il kernel con make bzImage o quando
compilo i moduli con make modules?
6) Se faccio una modifica al kernel senza toccare i moduli (ad esempio tolgo
Preemptive Kernel), devo comunque per forza ricompilare anche i moduli?
7) E se faccio una modifica che rigurda solo i moduli (ad esempio aggiungo
come modulo una scheda di rete), devo cmunque ricompilare anche il kernel?
8) Da quanto ho capito, la versione di ALSA fornita col kernel non è
recentissima. Per usarne una più recente semplicemente tolgo il supporto
ALSA dal kernel, scarico una versione recente dal sito di ALSA, e installo
quella, no?
9) C'è l'opzione per il caricamento automatico dei moduli. E' usata ad
esempio dal mdulo FireWire per caricare, quandoviene ad esempio collegata
una videocamera, i moduli video, etc.. se sono stati già compilati, e
similmente, dal modulo USB, per caricare i moduli per gestire la periferica
collegata, se già compilati?, vero? Non serve per caricare tutti i tipi di
moduli quando necessario (ad eempio se compilo come modulo il supporo per
NTFS e non faccio da nessuna parte modprobe per caricarlo, non viene
caricato da slo quando tento di montare una partizione NTFS, vero?)?
10) Ho notato almeno due problemi che col kernel 2.4.22 non avevo:
     - noto che mi dice all'avvio IRQ probe failer per hda, anche se poi
funziona tutto normalmente (la root partition e altre due monmtate all'avvio
stanno li)
     - viene segnalato due volte un certo bug di XFree, dicendo che non
dovrebbe accedere direttamente all'hardware, o giù di li...
Grazie

  10) Ho notato almeno due problemi che col kernel 2.4.22 non avevo:[...]
passo. :(
-- 
Francesco Romani - Ikitt   (signature under [re]construction)
'A geek is someone who spends time being "social" on a computer.'

 Qui invece, mi pare proprio di no.
Da esperienza personale di ieri sera, aggiungo che non sempre basta 
ricompilare solo i moduli.
Per la verità fino a ieri mi era sempre bastato, per aggiungere un 
modulo, configurarlo nel menù e poi dare make modules && make 
modules_install.
Facendo questa procedura con il modulo ipv6, mi succedeva però che 
inserendolo con modprobe ricevevo un messaggio di errore.
Dopo la solita odissea su google alla ricerca di indizi, ho trovato che 
il problema era che il modulo richiamava una funzione definita in 
un'altra parte del kernel; infatti ricompilando tutto il kernel da capo 
il problema è scomparso.
Magari sarà un caso raro, però può capitare...
Ciao, Paolo

  ricompilare solo i moduli.
E` vero. Mi sono sbilanciato, ma ho sempre saputo che era un'hack, una
scorciatoia. Quando si cambia qualcosa nel kernel, qualsiasi cosa,
la procedura prevede di ricompilare tutto.
Alternative -e, appunto, scorciatoie- non sono garantite e` vanno
valutate caso per caso, AFAIK.


 la procedura prevede di ricompilare tutto.
C'è da dire che viene in aiuto il nuovo sistema di build dei kernel
2.6.x, che ricompila solo quanto serve, abbattendo considerevolmente il
tempo di compilazione del kernel.
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)                 [ 
http://www.emmanuelebassi.net
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4