Capítulo 7. Configuración del Kernel

7.1. Quisiera personalizar mi kernel. ¿Es esto difícil?
7.2. ¿Por qué es mi kernel tan grande?
7.3. ¿Por qué cada kernel que intento construir falla al compilar, incluso GENERIC?
7.4. ¿Qué planificador esta en uso en un sistema en funcionamiento?
7.5. ¿Qué es kern.sched.quantum?

7.1.

Quisiera personalizar mi kernel. ¿Es esto difícil?

¡En absoluto! Vea la sección del manual acerca de configuración del kernel.

Nota:

El nuevo kernel será instalado en el directorio /boot/kernel junto con sus módulos, mientras que el viejo kernel y sus módulos serán movidos al directorio /boot/kernel.old. Si ocurre un error en la configuración, simplemente arranque desde la versión anterior del kernel.

7.2.

¿Por qué es mi kernel tan grande?

Los kérneles GENERIC que vienen con FreeBSD son compilados en modo de depuración. Los kernels que se compilan en modo de depuración contienen datos de depuración en archivos separados que se usan para la depuración. Las versiones de FreeBSD anteriores a 11.0 guardan estos archivos de depuración en el mismo directorio en que se encuentra el kernel , /boot/kernel/. En FreeBSD 11.0 y posteriores los archivos de depuración se guardan en /usr/lib/debug/boot/kernel/. Nótese que habrá muy poca o ninguna perdida de desempeño debida al uso de un kernel de depuración, y es útil mantener uno en caso de un pánico del sistema.

Cuando se agote el espacio en disco, hay diferentes opciones para reducir el tamaño de /boot/kernel/ y /usr/lib/debug/.

Para no instalar los archivos de símbolos, asegúrese de que la siguiente línea exista en /etc/src.conf:

WITHOUT_KERNEL_SYMBOLS=yes

Para más información vea src.conf(5).

Si desea evitar por completo compilar archivos de depuración, asegurese de que se cumpla lo siguiente:

  • Esta línea no existe en el archivo de configuración del kernel:

    makeoptions DEBUG=-g
  • No corra config(8) con -g.

Cualquiera de las opciones anteriores causaran que el kernel se compile en modo de depuración.

Para compilar e instalar solo los módulos especificados, listelos en /etc/make.conf:

MODULES_OVERRIDE= accf_http ipfw

Reemplaze accf_httpd ipfw con una lista de los módulos que necesita. Solo los módulos listados serán compilados. Esto reduce el tamaño del directorio del kernel y reduce la cantidad de tiempo requerido para compilar el kernel. Para más información, lea /usr/share/examples/etc/make.conf.

Los dispositivos innecesarios pueden ser removidos del kernel para reducir aún más su tamaño. Vea P: 7.1 para más información.

Para que estas opciones hagan efecto, siga las instrucciones para compilar y instalar el nuevo kernel.

Para referencias, el kernel de FreeBSD 11 en amd64 (/boot/kernel/kernel) ocupa aproximadamente approximately 25 MB.

7.3.

¿Por qué cada kernel que intento construir falla al compilar, incluso GENERIC?

Hay varias causas posibles para este problema:

  • El código fuente es diferente del que se usa para compilar el sistema actual que esta corriendo. Al intentar actualizar, lea/usr/src/UPDATING, prestando atención especial a la sección COMMON ITEMS al final.

  • El comando make buildkernel no se completo de manera exitosa. El objetivo make buildkernel depende de archivos generados por el objetivo make buildworld para terminar su trabajo correctamente.

  • Incluso al compilar FreeBSD-STABLE, es posible que árbol de código fuente haya sido obtenido en una etapa en la que esta siendo modificado o estaba roto. Solo se garantiza que los lanzamientos sean compilables, aunque FreeBSD-STABLE compila correctamente la mayor parte del tiempo. Intente re-obtener el árbol de código fuente y vea si el problema desaparece. Intente usar un mirror distinto en casa de que el anterior presente problemas.

7.4.

¿Qué planificador esta en uso en un sistema en funcionamiento?

El nombre del planificador siendo usado actualmente esta directamente disponible como el valor del sysctl kern.sched.name:

% sysctl kern.sched.name
kern.sched.name: ULE

7.5.

¿Qué es kern.sched.quantum?

kern.sched.quantum es el máximo número de ticks que puede correr un proceso sin ser apropiado por el planificador de 4BSD.

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