3.17. Come si caricano i moduli del kernel?

Può accadere che, per motivi di licenza, non sia possibile includere staticamente il supporto per una periferica nel kernel, oppure, per motivi di ottimizzazione delle risorse, può essere conveniente non includere il supporto staticamente. Si ricorre dunque ai moduli, che possono essere inseriti e rimossi "al volo" a seconda del bisogno. La locazione standard dei moduli è /boot/kernel/ e la loro estensione è .ko.

Avvertimento: Nelle versioni di FreeBSD precedenti alla 5.0-RELEASE i moduli si trovano in /boot/kernel/.

kldload(8) serve a caricare i moduli e solo root ha i permessi di esecuzione su questo comando:
# kldload msdos
I nomi dei moduli identificano chiaramente il loro utilizzo: quello dell'esempio, msdos.ko fornisce il supporto per il filesystem FAT, usato da MS-DOS® e Windows®. I moduli del kernel possono essere caricati anche all'avvio del sistema tramite il file /boot/loader.conf, le cui righe relative al caricamento dei moduli hanno il formato seguente:
linux_load="YES"
agp_load="YES"
     
Le righe precedenti caricano rispettivamente il modulo per l'esecuzione dei binari Linux e il modulo per l'AGP[1].

Per rimuovere i moduli caricati si usa kldunload(8):

# kldunload linux
rimuove il modulo relativo alla compatibilità dei binari Linux.

Note

[1]

Accelerated Graphics Port: porta per le chede grafiche.