# Dubbio moduli del kernel caricati al boot

## pingoo

Nella nuova installazione ho alcuni moduli e leggendo l'handbook immaginavo che in fase di boot venissero caricati solo quelli esplicitamente indicati in /etc/conf.d/modules:

```

modules="thinkpad_acpi"

module_thinkpad_acpi_args="fan_control=1"

```

mentre mi trovo con la situazione seguente;

```

$ lsmod

Module                  Size  Used by

arc4                    1096  2 

iwlwifi               177536  0 

thinkpad_acpi          52056  0 

uvcvideo               56716  0 

videodev               69824  1 uvcvideo

mac80211              165488  1 iwlwifi

v4l2_compat_ioctl32     8008  1 videodev

```

Ho frainteso? Cosa devo controllare/modificare per evitare che tali moduli vengano caricati al boot ma solo nel momento del reale bisogno? In particolare noto che iwlwifi viene caricato ma l'interfaccia wireless è correttamente down almeno per quanto riguarda la rete.

----------

## fbcyborg

I moduli che trovi in più, rispetto a quelli che hai specificato in /etc/conf.d/modules vengono caricati da udev.

----------

## pingoo

ok, grazie, sospettavo di udev  :Smile:  Quello che vorrei ottenere è che i moduli non venissero caricati al boot ma all'occorrenza. Es, se non ho attiva l'interfaccia wireless, i moduli che servono per usarla non devono essere caricati. Stessa cosa per webcam etc. Non ho trovato la guida che copra quest'aspetto. Forse dovrei concentrarmi prima sul risparmio energetico chepotrebbe essere collegato?

Ho provato superficialmente con powertop ma non mi pare fornisca molte informazioni, sarà che la 1.13 è una versione troppo "vecchia"?

Devo quindi intervenire sulla configurazione di udev? Anche quà, c'è qualche guida mirata?

----------

## fbcyborg

Dunque, intanto partirei da qui e da qui. Sembri non essere l'unico ad avere questo problema. Forse non è molto ma mi sembra un punto di partenza.

Ciao!

----------

## djinnZ

Il punto di partenza sarebbe giusto (la solita faccenda che richiede un nuovo approccio ma nessuno se ne cura ad oggi, il minimalismo si sta estingendo anche nel mondo linux) ma manca qualcosa, tanto per cambiare...  :Laughing: 

Se, per esempio, usi la webcam solo con skype o nonsocosa, puoi fare uno script 

```
#!/binb/sh

modprobe vattelappesca

skype

rmmod vattelappesca
```

 o crei un semaforo

```
semph=/var/run/webcam.$$

touch $semph

skype

rm $semph
```

ed un demone (o lo piazzi in cron) che sbatte a terra i moduli quando non ci sono programmi che li usano del genere 

```
test -f /var/run/webcam.* || rmmod vattelappesca
```

Per la rete invece ti basta editare conf.d/net per mettere il caricamento dei moduli in preup() e rmmod in postup()

Per quanto attiene lordine il colpevole mi sembra che sia kerneld udev dovrebbe limitarsi al modprobe 

caveat emptor: verificare accuratamente, mi rifiuto di applicarmi seriamente alla questione, quindi la sintassi non risulta la migliore e vado a memoria.

----------

## pingoo

@fbcyborg: grazie, mi pareva strano non ci fosse una guida per udev  :Smile:  Ho dato un'occhiata ma non mi pare trattare la cosa

@djinnZ: sono sorpreso, non avevo mai approfondito la cosa ma pensavo che fosse la norma quanto volevo fare e che dipendesse solo da un'errata configurazione. Son curioso di vedere come si comporta l'altra distribuzione installata su questa macchina, e soprattutto se cambia qualcosa quando procederò a sistemare (tentare di) il risparmio energetico, che potrebbe risolversi. Altrimenti valuto se procedere con script o semafori, grazie

----------

## djinnZ

a dimostrazione che non ci sono con la testa, volevo dire che il tuo problema mi sembra dovuto ad un cattivo funzionamento di kerneld non di udev. Al massimo, neppure sempre, udev lancia solo un modprobe per il modulo principale, le dipendenze se le tira dietro kerneld ed in alcuni casi agisce autonomamente, direttamente al boot.

Per la sola questione parametri potresti metterli direttamente nella linea di comando del kernel (premesso che sono della scuola "tutto builtin", tranne quello che vuoi poter disativare o deve essere modulare per forza, ovviamente).

@fbcyborg: che sia stranamente di buonumore non ti esime dall'esser messo in croce...  :Laughing: 

----------

