Frequently Asked Questions para FreeBSD 2.X : Configuración del Kernel : Me gustaría personalizar mi kernel. Es difícil?
Previous: Configuración del Kernel
Next: La compilación del kernel falla por "_hw_float is missing."

7.1. Me gustaría personalizar mi kernel. Es difícil?

No!, primero, necesitas la distribución completa de fuentes o, por lo menos, la distribución de fuentes del kernel. De esta manera tienes los fuentes necesarios para crearte un nuevo kernel. Al contrario que muchos Unix comerciales, nosotros tenemos la política de NO vender nuestro kernel en formato binario.

La instalación de los fuentes ocupa un poco más de espacio, pero te permite consultar los fuentes del kernel en caso de dificultad o entender que está ocurriendo realmente en la ejecución del sistema.

Una vez tienes instalada la distribución completa de fuentes, o por lo menos la del kernel, haz lo siguiente como root:

  1. cd /usr/src/sys/i386/conf
  2. cp GENERIC MYKERNEL
  3. vi MYKERNEL
  4. config MYKERNEL
  5. cd ../../compile/MYKERNEL
  6. make depend
  7. make all
  8. make install
  9. reboot

El paso 2 no es necesario si todavía tienes un fichero de configuración del kernel de una release anterior de FreeBSD 2.X. - simplemente, copia el fichero antiguo y examínalo cuidadosamente para asegurar que no haya cambiado la sintaxis da algún driver, o haya alguno anticuado.

Un buen fichero de configuración para consultar es LINT, el cual contiene ejemplos documentados para todas las posibles opciones del kernel. El fichero de configuración GENERIC se usa para crear el kernel "por defacto" que es el que estarás usando si no has creado ninguno nuevo.

Si no necesitas hacer ningún cambio al fichero GENERIC, puedes saltar al paso 3, donde personalizas el kernel para tu sistema. El paso 8 solo debe ejecutarse si los pasos 6 y 7 se han realizado de manera satisfactoria. Esto copiará una imágen del nuevo kernel a /kernel y realizará una copia del antiguo kernel en /kernel.old. Es muy importante recordar esto por si el nuevo kernel falla en algun momento - puedes seleccionar kernel.old en el prompt de arranque. Al hacer un reboot, por defecto se cargará el nuevo kernel.

Si la compilación en el paso 7 falla por alguna razón, es recomendable que empieces desde el paso 4 substituyendo GENERIC por MYKERNEL. Si puedes generar el kernel GENERIC, significa que algo en tu fichero de configuración es incorrecto (o has decubierto un bug). Si la compilación del kernel GENERIC falla, posiblemente tengas los fuentes corruptos.

Finalmente, si necesitas ver los mensajes originales de arranque del sistema para compilar un nuevo kernel, ejecuta el comando dmesg. Este comando debe imprimir en pantalla todos los mensajes producidos por el kernel al arrancar, los cuales te pueden servir en la configuración de tu nuevo kernel.

NOTA Recomendamos hacer un historial fechado de los kernel que vayas creando, de la manera kernel.YYMMDD una vez estén funcionando correctamente. De esta manera, si la próxima vez que juegues con el kernel algo no funciona, puedes arrancar desde el último kernel correcto. Esto es especialmente importante si ahora estás arrancando desde una controladora no soportada por el kernel GENERIC (si, experiencia personal).


Frequently Asked Questions para FreeBSD 2.X : Configuración del Kernel : Me gustaría personalizar mi kernel. Es difícil?
Previous: Configuración del Kernel
Next: La compilación del kernel falla por "_hw_float is missing."