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.
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>.