Pagina 1 di 1
Kernel modulare (Rimozione moduli non necessari)
Inviato: lun 13 nov 2006, 12:52
da targzeta
Ciao a tutti,
ho compilato un kernel molto modulare. Nel far caricare i moduli necessari non ci sono problemi. Ma come si possono eliminare i moduli non necessari?
Da quanto ho capito:
dovrebbe fare questo per me, ma non lo fa?
Qualcuno di voi ha mai affrontato e risolto lo stesso problema?
Una volta esisteva il kerneld che si occupava di fare questo, ma, sempre se non ho capito male, ora questa cosa non la si affronta più in questo modo.
Spina
Inviato: lun 13 nov 2006, 13:00
da dapuzz
i moduli non necessari non si caricano da soli, quindi il problema non si pone, oppure non ho capito cosa vuoi fare.
Modprobe -r 'scarica' un modulo caricato se non è usato da un altro modulo. Puoi sempre verificare con lsmod prima e dopo il comando.
Inviato: lun 13 nov 2006, 13:11
da targzeta
Quello che voglio è, in sostanza, che
faccia il suo lavoro. A te li scarica i moduli non usati?
Eccoti un esempio:
Codice: Seleziona tutto
lsmod
Module Size Used by
ehci_hcd 26504 0
usbcore 100356 2 ehci_hcd
si vede che ehci_hcd non è usato, quindi:
Codice: Seleziona tutto
modprobe -r;
lsmod
Module Size Used by
ehci_hcd 26504 0
usbcore 100356 2 ehci_hcd
Visto, non lo ha scaricato. C'è qualche cosa che devo sapere?
Spina
Inviato: lun 13 nov 2006, 13:19
da dapuzz
spina ha scritto:Visto, non lo ha scaricato. C'è qualche cosa che devo sapere?
Spina
man modprobe

modprobe -r ehci_hcd
In ogni caso ti conviene vedere perchè e da chi viene caricato se sei così sicuro che non serve
/etc/rc.d/rc.modules? udev? /etc/modprobe.d?
Inviato: lun 13 nov 2006, 13:34
da targzeta
no, non ci capiamo!
il comando
senza parametri scarica i moduli non usati.
Il fatto che il modulo ehci-hdc non sia usato lo dice lo 0 sotto Used in lsmod.
Ti cito altre man 8 modprobe:
Codice: Seleziona tutto
With the option -r, modprobe will automatically unload a stack of modules, similar to the way "rmmod -r" does. Note that using just "modprobe -r" will clean up unused autoloaded modules and also perform the pre- and post-remove commands in the configuration file /etc/modules.conf
Spina
Inviato: lun 13 nov 2006, 15:20
da Dani
Se fai rmmod -f ehci_hcd lo toglie ?
Inviato: lun 13 nov 2006, 15:39
da targzeta
Dani ha scritto:Se fai rmmod -f ehci_hcd lo toglie ?
Si si, anche con:
lo toglie. Il punto è che:
così come
dovrebbero eliminare i moduli non usati, e non uno specifico modulo! Ma a me non funziona. Volevo sapere se a qualcun altro non funziona o se qualcuno sa cosa potrebbe esserci che non va.
Spina
Inviato: lun 13 nov 2006, 16:53
da albatros
Il fatto che ehci_hcd non sia usato da nessun altro modulo non vuol dire che non venga usato dal kernel...
Comunque ho provato a inserire altri moduli di cui non ho bisogno (tipo il supporto a reiserfs) e modprobe -r non li toglie se non viene specificato il nome del modulo.
linux 2.6.18.2 module-init-tools version 3.2-pre9
Inviato: lun 13 nov 2006, 17:11
da targzeta
albatros ha scritto:Il fatto che ehci_hcd non sia usato da nessun altro modulo non vuol dire che non venga usato dal kernel...
Giustissimo
Anche io avevo provato come te. Inoltre ho montato un dvd che non c'è solo per farmi caricare i moduli. Anche modprobe -r non toglie niente. Ho letto un pò in giro e devo ammettere che non sto capendo granché. Forse questo supporto non è più abilitato, infatti nel manprobe all'opzione -r non indica niente che faccia sospettare che si può omettere il nome del modulo.
Ti rimanda alla pagina modprobe.old per fare questo.
Stessa cosa nella man di rmmod, se noti l'opzione -a non c'è, mentre su rmmod.old è mensionata.
Da quanto ho capito i nuovi module-init-tools non svolgono questo compito, anche perchè ci sono svariati problemi in merito. Come race-condition etc..etc...
Spina
P.S. Peccato perchè mi interessava un modo per "ripulire" il kernel da moduli inutilizzati, anche perchè come ben sai questa memoria non viene mai swappata. Senza scripting ovviamente....
Pippi.S. comunque ho scaricato l'ultima versione dei module-init-tools, poi vediamo
Inviato: lun 13 nov 2006, 17:38
da albatros
Come te, anch'io mi son letto tutte le pagine man, ma non ho trovato nulla...
Dall'usage che ottieni dando modprobe -v sembrerebbe, essendo racchiuso fra due < >, che modname non sia opzionale se usato con -r, anche se non vengono segnalati errori se lo si omette...
Inviato: mar 14 nov 2006, 14:32
da rob
"modprobe -r" will clean up unused autoloaded modules
magari ehci_hcd non è "autoloaded"
penso che per autoloaded si intendano quei moduli caricati on the fly quando, ad esempio, attacchi una periferica a caldo.. magari se provi a staccare fisicamente il controller usb dalla scheda madre a computer acceso, modprobe -r te lo leva quel modulo
ciao, rob
Inviato: mar 14 nov 2006, 15:00
da bloodlust
rob ha scritto:magari se provi a staccare fisicamente il controller usb dalla scheda madre a computer acceso, modprobe -r te lo leva quel modulo

ROTFL