8.4. Controladores del kernel, subsistemas y módulos

Antes de compilar un kernel personalizado conviene pensar antes los motivos. Si lo que se necesita es añadir hardware específico al sistema es posible que sea posible utilizarlo mediante un módulo.

Los módulos del kernel están en el directorio /boot/kernel y se pueden cargar dinámicamente en un kernel en funcionamiento con kldload(8). La mayoría, por no decir todos, los controladores del kernel tienen un módulo específico y una página de manual. Por ejemplo, en la sección anterior hablábamos del controlador Ethernet inalámbrico ath. La página de manual de este dispositivo contiene la siguiente información:

Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):

           if_ath_load="YES"

Si hace lo que dice ahí, es decir, añadir la línea if_ath_load="YES" al fichero /boot/loader.conf hará que el módulo se cargue dinámicamente cada vez que el sistema arranque.

Hay casos, no obstante, en los que no existe el módulo correspondiente. Esto sucede con ciertos subsistemas y con controladores muy importantes, como por ejemplo el de FFS, que necesita el kernel. Igual sucede con la posibilidad de utilizar redes (INET). Por desgracia, en estos casos la única forma de saber si hace falta un controlador es buscar el módulo.

Aviso:

Es sumamente fácil quitar un dispositivo o una opción del kernel y encontrarse de manos a boca con un kernel que no funciona. Por ejemplo, si elimina el controlador ata(4) del fichero de configuración del kernel un sistema que utilice unidades de disco ATA no podrá arrancar a menos que se añada la línea correspondiente al fichero loader.conf. Si tiene dudas busque el módulo y deje el kernel como está.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.

Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.