8.4. Compilación de un nuevo núcleo

¿Por qué querría alguien compilarse un nuevo núcleo? La mayoría de las veces no será necesario puesto que el núcleo estándar entregado con Debian maneja la mayoría de configuraciones. En cualquier caso es útil compilar un nuevo núcleo para:

8.4.1. Gestión de la imagen del núcleo

No tenga temor de intentar compilar el núcleo. Es divertido y fructífero.

Para compilar un núcleo en el método de Debian, necesita algunos paquetes: kernel-package, kernel-source-2.4.25 (la versión mas reciente al momento de editar este documento), fakeroot y algunos otros que probablemente ya estén instalados (vea /usr/share/doc/kernel-package/README.gz para una lista completa.

Este método creara un .deb para su núcleo fuente y, si usted tiene módulos no-estándares, haré un .deb con dependencia sincronizada de los mismos. Es una forma mejor de gestionar imágenes del núcleo; /boot albergara el núcleo, el fichero System.map y el fichero de registro del fichero config activo para la construcción.

Observe que no tiene que compilar su núcleo ``al estilo Debian''; pero creemos que usar el sistema de paquetes para gestionar su núcleo es realmente más seguro y sencillo. De hecho, puede obtener las fuentes de su núcleo directamente de Linus en lugar de kernel-source-2.4.25, y aún asé usar el método de compilación kernel-package.

Nótese que encontrará completa sobre el uso de kernel-package en /usr/doc/kernel-package. Esta sección sólo contiene un breve tutorial.

A partir de ahora, asumiremos que las fuentes de su núcleo se encontrarán en /usr/local/src y que la versión de su núcleo es 2.4.25. Como superusuario, cree un directorio dentro de /usr/local/src y cambie el propietario del mismo a su cuenta de usuario normal. Como su cuenta de usuario normal (no superusuario), cambie al directorio donde desee desempaquetar las fuentes del núcleo (cd /usr/local/src), extraiga las fuentes del mismo (tar xzf /usr/src/kernel-source-2.4.25.tar.bz2 ), y cámbiese a este directorio (cd kernel-source-2.4.25/).

Ahora puede configurar su núcleo. Ejecute make xconfig si tiene X11 instalado, configurado y ejecutándose, make menuconfig en otro caso (necesitara instalar ncurses-dev. Tómese su tiempo para leer la ayuda en línea y escoja cuidadosamente. Cuando tenga duda, frecuentemente es mejor incluir el controlador de dispositivo (el software que maneja el hardware periférico, como tarjetas Ethernet, controladoras SCSI, etc.) del que no está seguro. Tenga cuidado: otras opciones no relacionadas con un hardware específico deberían dejarse en su valor predeterminado si no las comprende. No olvide seleccionar ``Kernel module loader'' (para la autocarga de módulos) en ``Loadable module support'' (este no es elegidos por omisión). Si no son incluidos, su instalación Debian experimentara problemas.

Limpie el árbol de fuentes y reinicie los parámetros de kernel-package. Para hacerlo, ejecute make-kpkg clean.

Ahora compile el núcleo: fakeroot /usr/sbin/make-kpkg --revision=custom.1.0 kernel_image. Por supuesto, el número de la versión ``1.0'' puede cambiarse por el que quiera; éste sólo es el número de versión que usará para seguir la pista a los núcleos que haya construido. La compilación del núcleo puede tomar un buen tiempo, dependiendo de la potencia de su máquina.

Una vez completada la compilación, puede instalar su núcleo personalizado como cualquier paquete. Como superusuario, ejecute dpkg -i ../kernel-image-2.4.25-subarchitecture_config.1.0_arm.deb. La parte subarchitecture es una sub-arquitectura opcional, dependiendo de las opciones que haya establecido en el núcleo. dpkg -i kernel-image... instalará el núcleo, junto con otros ficheros de soporte. Por ejemplo, System.map será adecuadamente instalado (de gran ayuda para depuración de problemas con el núcleo), y también se instalará /boot/config-2.4.25, conteniendo su actual configuración. Su nuevo paquete kernel-image-2.4.25 es también lo suficientemente listo como para usar automáticamente usar el gestor de de arranque de su plataforma y actualizar así la información de la imagen del núcleo la cual le permita arrancar sin necesidad de ejecutarlo nuevamente. Si ha creado un paquete de módulos, ej. si usted tiene PCMCIA, necesitará instalar también dicho paquete.

Es momento de reiniciar el sistema: lea cuidadosamente cualquier advertencia que pueda haberse producido, luego ejecute shutdown -r now.

Para mas información sobre kernel-package, vea la excelente documentación en /usr/share/doc/kernel-package.