PDA

View Full Version : debian-caricamento moduli


bettola
06-05-2005, 09:06
ho un problema...ho la scheda di rete nella scheda pcmcia...ho messo auto eth0 in network/interfaces in modo che mi abiliti la connessione all'avvio...solamente che esegue questa cosa prima di caricare il modulo pcmcia e quindi mi dice che eth0 non esiste (no such device)...dovrei trovare il modo di far caricare prima pcmcia e poi farmi avviare eth0, come si puo' fare?

PiloZ
06-05-2005, 10:05
hai già guardato in /etc/rc2.d il numero che indica l'ordine di avvio dei due servizi?

altra prova, magari migliore:
in modprobe.conf basta che metti un alias che ti carichi anche il modulo della ethernet

alias eth0 nomemodulo

ciaoz

bettola
06-05-2005, 10:24
il modulo della ethernet quale sarebbe? come faccio a saperlo? ho guardato in rc2.d

S10sysklogd S18portmap S20inetd S20samba S89cron
S11klogd S20dbus-1 S20lpd S20ssh S99gdm
S12alsa S20dirmngr S20makedev S21nfs-common S99rmnologin
S14ppp S20exim4 S20pcmcia S89atd S99stop-bootlogd

vedo il pcmcia ma non vedo o non so quale e' la scheda di rete

PiloZ
06-05-2005, 11:28
non ho mai usato il pcmcia e non so come funziona sul sistema.
non avendo comunque in rc2.d lo scripe S35networking sicuramente la rete viene tirata su (prima o dopo che sia) tramite qualcos'altro.
guarda che hai sul file S20pcmcia e vedi se magari richiama script per la rete , per esempio potrebbe richiamare /etc/init.d/networking o qualcosa in /etc/networks/...

p.s.per sapere il modulo della scheda di rete usa lsmod mentre modinfo nome_modulo può eventualmente aiutarti a reperire info sul modulo.

guardati anche /etc/modules (sempre se lo hai).

bettola
06-05-2005, 11:46
la rete la tiro su io perche' inserisco in /etc/network/interfaces auto eth0 ...ma evidentemente viene chiamato prima dell'avvio del pcmcia quindi devo trovare un altro modo per chiamarlo

bettola
06-05-2005, 11:48
ma il numero in S20pcmcia sta per l'ordine in cui viene caricato?se lo rinomino in S1pcmcia magari me lo carica prima di un bel po' e sempre magari prima che faccia auto eth0 ...no??? :D

PiloZ
06-05-2005, 11:52
la tiri su quando è tutto già caricato usando quale comando?
per caso con:
/etc/init.d/networking start
se non quale?

bettola
06-05-2005, 11:59
usando ifup eth0...mettendo auto eth0 dovrebbe caricarsi all'avvio ma non lo fa per i motivi suddetti

bettola
06-05-2005, 12:00
in pratica succede questo
1> cerca di avviare la rete (trova auto eth0 in /etc/network/interfaces)e non ci riesce perche' non e' caricato pcmcia
2> avvia pcmcia e il sistema
3> vado io di root con ifup eth0 e aziono la rete

PiloZ
06-05-2005, 12:07
usando ifup eth0...mettendo auto eth0 dovrebbe caricarsi all'avvio ma non lo fa per i motivi suddetti
no, non lo fa in automatico perchè non li si dice di farlo ;)

hai il file /etc/init.d/networking ?

se si prova a fare questo link:

ln -s /etc/init.d/networking /etc/rc2.d/S35networking

e riavvia :)

bettola
06-05-2005, 12:45
ha funzionato! cosa e' successo? sapere sapere!

PiloZ
06-05-2005, 13:26
ha funzionato! cosa e' successo? sapere sapere!
ti spiego brevemente....magari approfondisci te cercando su google "guida runlevel"

sulle distribuzioni linux esistono dei runlevel..appunto livello da lanciare.

quando si avvia debian viene letto ad un certo punto il file /etc/inittab dove vi è una riga come questa:
id:2:initdefault:

vuol dire che manda il sistema a livello 2
e al quel punto iniziano ad essere caricati tutti gli script che stanno dentro /etc/rc2.d/
come vedrai in /etc/rc2.d/ non vi sono dei veri script ma semplicemente vengono richiamati tramite link gli script che stanno sempre in /etc/init.d in modo da non disperdere gli script quà e la per i runlevel

dunque visto e considerato che le interfacce di rete su debian vengono tirate su con il file /etc/init.d/newtorking te non avendomelo indicato dentro la directory /etc/rc2.d era chiato che la rete non veniva calcolata minimamente.

con:
ln -s /etc/init.d/networking /etc/rc2.d/S35networking
non abbiamo fatto altro che creare un link dentro /etc/rc2.d/ chiamato S35networking che punta allo script vero e proprio /etc/init.d/networking
la prima lettera S sta per START e le due cifre possono andare da 01 a 99 e definiscono l'ordine con il quale tutti i file devono essere avviati.

dal momento che /etc/rc2.d/S20pcmcia (che sarà un link al file /etc/init.d/pcmcia) ha valore S20 mentre S35networking ha S35 prima verrà caricato per un corretto funzionamento tutto ciò che riguarda il supporto pcmcia e pochissimo tempo dopo andrà a pescarsi S35networking tirando su la rete.

cazzo più chiaro di così :D

p.s.quà c'è qualcosina che anche io lessi anni fa: http://linux.html.it/guida/guida_linux15.htm :)

bettola
06-05-2005, 13:44
spettacolo...il tutto mi garba una cifra!

norman900
06-05-2005, 14:25
C'è un bel capitoletto in "Appunti di informatica libera" che descrive il funzionamento dei processi e l'inizializzazione del sistema in maniera mooolto dettagliata.
Consigliato. ;)

bettola
11-05-2005, 12:24
come faccio a levare il link da /etc/r2.d? con rm??? perché adesso non voglio più la rete all'avvio perché quando non sono connesso mi sta 2 ore a cercare l'ip dal dhcp

PiloZ
11-05-2005, 13:13
con rm per farlo manualmente solo su un runlevel, altrimenti per automatizzare il tutto usa update-rc.d
rimozione dei link da tutti i runlevel:
update-rc.d -f networking remove
collegamento simbolico su tutti i runlevel:
update-rc.d -f networking defaults

:fagiano: