PDA

View Full Version : Kernel e autoload dei moduli


Braccop
18-02-2004, 13:59
Dunque e' da qualche giorno che cerco di far funzionare bene il kernel 2.6.2 sulla slack 9.1...

ho finalmente capito qual'e' il problema col kernel 2.6.2...
ovvero non carica automaticamente nessun modulo... col 2.4.22 fornito con la slack, carica da solo i seguenti moduli:
Module Size Used by Tainted: P
snd-pcm-oss 37252 0
snd-mixer-oss 11992 0 [snd-pcm-oss]
usb-ohci 18888 0 (unused)
ehci-hcd 16872 0 (unused)
usbcore 58400 1 [usb-ohci ehci-hcd]
nvnet 26368 1
ohci1394 24200 0 (unused)
ieee1394 42436 0 [ohci1394]
snd-emu10k1 60212 0
snd-pcm 55904 0 [snd-pcm-oss snd-emu10k1]
snd-timer 13252 0 [snd-pcm]
snd-hwdep 4672 0 [snd-emu10k1]
snd-util-mem 1136 0 [snd-emu10k1]
snd-page-alloc 6004 0 [snd-emu10k1 snd-pcm]
snd-rawmidi 12512 0 [snd-emu10k1]
snd-seq-device 3920 0 [snd-emu10k1 snd-rawmidi]
snd-ac97-codec 37240 0 [snd-emu10k1]
snd 27460 0 [snd-pcm-oss snd-mixer-oss snd-emu10k1 snd-pcm snd-timer snd-hwdep snd-util-mem snd-rawmidi snd-seq-device snd-ac97-codec]
emu10k1-gp 1352 0 (unused)
gameport 1452 0 [emu10k1-gp]
bttv 94432 0 (unused)
i2c-algo-bit 6984 1 [bttv]
i2c-core 12740 0 [bttv i2c-algo-bit]
soundcore 3332 6 [snd bttv]
videodev 5664 2 [bttv]
pcmcia_core 40032 0
ide-scsi 9424 0
agpgart 39576 0 (unused)
apm 9640 2


tranne apm che ho decommentato nel rc.modules...
mentre col 2.6.2 non ne carica manco uno... come faccio a farglieli caricare in auto? (nel kernel ho abilitato il supporto)

chiaramente potrei metterli tutti a mano nel rc.modules, ma non e' una soluzione "professionale" :D

Braccop
18-02-2004, 17:23
up

Mason
18-02-2004, 18:23
devi guardarti modules.conf (man modules.conf parte su alias)

la dinamica e +o- questa

un app cerca di scrivere su un device
in *nix tutto e un file, quindi cerca di accedere ad un file con 2 numeri identificativi detti major e minor
ma il driver non c'e allora kmod cerca di caricarlo, risalendo tramite ai 2 numeretti al nome del modulo(o driver)
quello che a te manca e questo associzione numeretti modulo del kernel, e si risolve mettendo sotto modules.conf un alias
per esempio

alias char-major-14 sb

questo vuol dire che per ogni tentativo di accesso ad un driver con un major di 14 tu fai il modprobe di sb

Braccop
18-02-2004, 18:37
si ci avevo pensato... pero' intendevo proprio il caricamento dei moduli al boot... cmq dopo provo e ti faccio sapere...

Mason
18-02-2004, 18:43
mmm

mi sa che ho frainteso quel professionale,il cui significato mi e ancora un poco oscuro

Braccop
18-02-2004, 19:09
Originariamente inviato da Mason
mmm

mi sa che ho frainteso quel professionale,il cui significato mi e ancora un poco oscuro

quel "professionale" e' inteso nel senso che il sistema standard fresco di installazione mi carica i moduli giusti al boot, senza che siano tutti inseriti nel rc.modules...

mentre con il kernel 2.6 dovrei caricarli a mano oppure inserirli tutti nel rc.modules

:D

NapH
20-02-2004, 10:19
anche io lo stesso problema.. per tamponare ho messo in rc.local mi piacerebbe sapere se c'č una soluzione pių professionale ;)

Mason
20-02-2004, 10:58
allora
di solito esiste un rc dell init, quello di sistema indipendente dal livello di startup [1-6] che si occupa di caricare i moduli all'inizio, tramite rc.module sotto slack e con /etc/modules sotto gentoo e debian se ben ricordo
questi moduli son messi li all inizio e non piu toccati

se invece e un modulo che volete che si carichi e scarichi in automatico quando richiesto da un applicazione (es modulo audio per xmms) allora dovete guardarvi la sintassi di modules.conf, sempre sotto /etc, centra anche con depmod, cmq le man page possono essere sicuramente + esaustive

infine esiste l'hotplug, che si occupa di gestire l'inserimento e la rimozione dei moduli di quelle perfieriche che possono essere staccate, tipo mouse o joypad usb e via dicendo, ed e piu complesso, sinceramente so veramente poco di questo.

cmq per quella lista di moduli mi sembra eccessiva, io metterei compilati nel kernel quei moduli che sicuramente usi per > 90% del tempo, tipo audio usb e quelli dipendenti dalle tue esigenze
per gl'altri mi sbatterei per metterli in caricamento automatico tramite il modules.conf, se gia non viene fatto dal sistema.

ps probabilmente non hai bisogno di quel ide-scsi