# Built-in o moduli?

## neretux

Sto settando con make menuconfig i flags del kernel: dato che non so, mi potreste indicare in generale, secondo la vostra esperienza o secondo i vostri metodi, quali impostare come built-in e quali come moduli? Faccio un esempio: magari potreste suggerirmi: "imposta quelli che riguardano il processore ed il file system come built-in mentre quelli delle scheda di rete e della grafica come moduli". 

Spero di essermi spiegato...

Suggerimenti?

----------

## neretux

Ho trovato molte risposte in questo wiki: http://www.gentoo.org/doc/it/kernel-config.xml ma mi interesserebbe conoscere comunque la vostra esperienza.

Suggerimenti?

----------

## darkmanPPT

se ne era già parlato. (boh, cerca, magari trova).

il succo è

built-in = più veloce il servizio ma più lento a caricare il kernel

modulo = più lento il servizio ma più veloce a caricare il kernel

e comunque, la differenza credo sia così minima da non cambiare niente. in soldoni, non credo che te ne accorgeresti.   :Wink: 

(a parte il caricamento del kernel)

----------

## riverdragon

Teoricamente se un modulo va in crash ed è compilato nel kernel crea problemi, se è compilato esternamente muore da solo. Io però ho tutto built-in.

----------

## guerro

Io in genere adotto questa filosofia:

tutto cio che è removibile/usato raramente lo definisco come modulo, tutto il resto (vedi scheda grafica, bus, disco interno, chip della scheda madre ecc...) lo carico come built-in....

----------

## k01

 *guerro wrote:*   

> Io in genere adotto questa filosofia:
> 
> tutto cio che è removibile/usato raramente lo definisco come modulo, tutto il resto (vedi scheda grafica, bus, disco interno, chip della scheda madre ecc...) lo carico come built-in....

 

condivido anch'io questa filosofia   :Wink: 

----------

## neretux

Grazie ragazzi, gentili come sempre, i vostri consigli mi sono stati di grande aiuto.

----------

## ago

Come già stato detto un modulo muore, lo scarichi e ricarichi e dovrebbe tornare funzionante (anche se in tanti anni non è mai successo), mentre builtin no.

Se segui questa filosofia punti ad avere un kernel composto più che altro da moduli; metti statico ciò che è necessario (fs, driver disco ecc).

In termini di prestazioni, su desktop, non cambia nulla.

----------

## bsolar

Mi permetto di fare alcune precisazioni:

Avere qualcosa come modulo rispetto ad averlo built-in non implica assolutamente nessuna differenza a livello di performance. Una volta caricato, non cambia niente dal punto di vista della "velocità di esecuzione".

Un modulo se "muore" non è detto che sia possibile scaricarlo e ricaricarlo. "Modulo" non vuol dire che è ad un livello diverso del kernel (come succede nei microkernel o per i programmi in userspace). Una volta caricato fa parte integrante del kernel e può benissimo mandare in panico tutto.

I vantaggi principali dei moduli sono:

Se voglio cambiare qualcosa, posso (ri)compilare solo il modulo che mi serve senza dover ricompilare l'intero kernel.

Posso avere moduli pronti che non uso regolarmente e caricarli solo quando serve, risparmiando memoria tutto il resto del tempo.

Molto più "comodi" da sviluppare e debuggare.

In sostanza la filosofia "se è vitale: builtin. Altrimenti: modulo" è una buona filosofia.  :Cool: 

----------

## xdarma

 *bsolar wrote:*   

> ...

 

Ben tornato  :-)

----------

## pierino_89

Se a qualcuno può interessare, scaricando il modulo di una periferica questa non può più provocare wakeups al processore, consumando quindi meno energia.

Diciamo che è una specie di rfkill dei poveri.

----------

