Este articulo pretende ser una introducción o una "pérdida de miedo" para que la gente se lance a compilar un kernel en FreeBSD.
Creo que hay varios métodos quizás incluso mejores para compilar el kernel, pero voy a comentar como se hace por el método de toda la vida. Si alguno quiere ampliar este articulo o modificarlo con mejores formas es totalmente libre de hacerlo.
Lo primero que haremos será situarnos en el siguiente directorio:
# cd /usr/src/sys/i386/conf
Alli veremos que hay dos archivos que son GENERIC y LINT. Bien, el archivo GENERIC son las opciones mínimas para que el kernel arranque por si sólo, y el LINT es una especie de guía con todas las opciones del kernel y es conveniente ojearlo.
Lo que tenemos que hacer es hacer una copia del GENERIC y modificarlo a nuestro gusto para después compilarlo. Así pues hacemos:
# cp GENERIC NUEVO
Ahora editamos el archivo NUEVO:
# vi NUEVO
De forma diferente a linux, aqui tenemos que añadir todas las opciones a mano y luego salir guardando los cambios. Puede parecer dificil pero la verdad es que entretiene :)
Una vez hayamos guardado los cambios procederemos a la compilación del mismo.
Lo primero que hacemos es configurar el directorio donde se alojará los fuentes generados de nuestro fichero. Así pues hacemos lo siguiente:
# config -r NUEVO
Se nos creará un directorio con ese nombre y deberemos situarnos en él.La ruta es la siguiente:
# cd ../../compile/NUEVO
Ya estamos preparados para compilar. Este proceso es muy similar a Linux:
make depend
Este paso establecerá las dependencias.
make
Compilara el kernel.
make install
Instalará el nuevo kernel con el que arrancaremos la próxima vez reiniciemos nuestra máquina.
Este es básicamente el proceso de compilación del kernel en FreeBSD.
Vamos a ver como haríamos para que funcionase el sonido en nuestro sistema FreeBSD. Como he comentado editamos el nuevo fichero y añadimos lo siguiente al final del mismo:
device pcm
Luego compilamos el nuevo kernel y arrancamos con el nuevo kernel. Podremos observar que en el arranque reconoce la tarjeta de sonido. Pues ahora deberemos decirle al sistema que dispositivo tienee que usar. Esto lo haremos de la siguiente forma:
# cd /dev & sh MAKEDEV snd0
Ahora si todo es correcto, que imagino que si puesto que es lo que hice yo y funcionaba, podemos probar que suena sin problemas. Compilamos por ejemplo el port de mpg321:
# cd /usr/ports/audio/mpg321
# make install clean
Y lo probamos con alguna canción que tengamos en mp3:
mpg321 foo.mp3
Espero que este pequeño artículo sirva de ayuda a la gente que se aventure en el BSD.