8.4. Compilar un nuevo núcleo
Anterior | Capítulo 8. Los pasos siguientes y dónde continuar a partir de aquí | Siguiente

## 8.4. Compilar un nuevo núcleo

¿Por qué querría alguien compilar 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:

- tratar necesidades especiales de hardware, o conflictos de los mismos con núcleos predeterminados

- tratar hardware u opciones no incluidas en el núcleo predeterminado, como APM o SMP

- optimizar el núcleo eliminando controladores no usados para acelerar el tiempo de arranque

- usar opciones del núcleo que no estén soportadas por el núcleo estándar (como el sistema de cortafuegos para red)

- ejecutar un núcleo actualizado o de desarrollo

- impresionar a sus amigos, probar nuevas cosas

### 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 a la manera de Debian, necesita algunos paquetes: `kernel-package`, `kernel-source-2.4.27` (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 tiene módulos no estándares, construya también un «.deb» con dependencia sincronizada de los mismos. Es la mejor forma de gestionar imágenes del núcleo; `/boot` albergará 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.27`, y aún así usar el método de compilación `kernel-package`.

Note que puede encontrar documentación 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 encuentran en `/usr/local/src` y que la versión de su núcleo es 2.4.27. Como superusuario, cree un directorio dentro de `/usr/local/src` y cambie el propietario del mismo a su cuenta de usuario común. Usando su cuenta de usuario común, ubiquese en el 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.27.tar.bz2` ), y cámbiese a este directorio (`cd kernel-source-2.4.27/`).

Ahora puede configurar su núcleo. Ejecute `make xconfig` si tiene X11 instalado, configurado y ejecutándose, `make menuconfig` en otro caso (necesitará instalar `ncurses-dev`). Tómese su tiempo para leer la ayuda en línea y escoja cuidadosamente. Cuando tenga duda, a menudo 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» (éste no es elegido por omisión). Si no es incluido, su instalación Debian experimentará 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 finalizada la compilación, puede instalar su núcleo personalizado como cualquier paquete. Como superusuario, ejecute `dpkg -i ../kernel-image-2.4.27-`subarquitectura`_custom.1.0_hppa.deb`. La parte `subarquitectura` 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.27`, conteniendo su actual configuración. Su nuevo paquete `kernel-image-2.4.27` 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, por ejm. si 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 más información sobre `kernel-package`, vea la excelente documentación en `/usr/share/doc/kernel-package`.

Anterior | Subir | Siguiente
8.3. Siguientes pasos y donde continuar | Inicio | Apéndice A. CÓMO de instalación