Caricamento dei moduli del kernel

Il kernel di Linux ha una radice modulare. Al momento dell'avvio, in memoria viene caricata solo una minima parte del kernel. Quindi, quando un utente desidera utilizzare una periferica il cui supporto non č presente nel kernel attualmente attivo, viene caricato un modulo in memoria. Dopo un periodo di inattivitā prestabilito, il modulo viene rimosso dalla memoria.

Il meccanismo che supporta la gestione dinamica dei moduli č un thread chiamato kmod. I moduli non vengono caricati fino a che il loro supporto non si rende necessario. Quando il kernel richiede un modulo, esso viene caricato insieme alle sue dipenedenze.

Quando installate Red Hat Linux, l'hardware nel vostro sistema viene analizzato e a voi viene richiesto di fornire informazioni circa i programmi che devono essere installati. In funzione delle vostre scelte, il programma di installazione decide cosa inserire nel kernel e cosa configurare come modulo. Il programma di installazione configura il meccanismo di loading in modo da lavorare in modo trasparente. Se poi decidete di costruirvi un kernel personalizzato, potete prendere da voi queste decisioni.

Se aggiungete nuovi dispositivi hardware dopo l'installazione che richiedono il supporto di un modulo del kernel, avete bisogno di configurare il meccanismo di loading dinamico del kernel. Kudzu di solito rileva il nuovo hardware. Potete anche aggiungere il nuovo driver modificando il file di configurazione /etc/modules.conf.

Per esempio, se il vostro sistema ha una scheda di rete PCI SMC EtherPower 10 al momento dell'installazione, il file di configurazione contiene la seguente linea di codice:

alias eth0 tulip

Dopo l'istallazione, se installate una scheda di rete identica nel vostro sistema, aggiungete la seguente linea di codice nel file /etc/modules.conf:

alias eth1 tulip

Per un elenco alfabetico dei moduli del kernel e dell'hardware supportato dai moduli stessi, consultate la Official Red Hat Linux Reference Guide.