Compilacion del Kernel

Vamos a ver la serie de pasos necesarios para comprender todo lo relacionado al proceso de compilación del kernel. Se debe tener en cuenta que se utiliza un kernel versión 2.4, por lo tanto existen diferencias para realizar este mismo proceso para kernel versión 2.6, que aquí no profundizamos.

1. Descargar el kernel

wget http://www.ar.kernel.org/pub/linux/kernel/v2.4/linux-2.4.30.tar.bz2

2. Descargar los parches

wget http://kernel.org/

3. Aplicar los parches

Las actualizaciones incrementales del núcleo se distribuyen como parches (No tomar con sentido peyorativo el término “parche”, “parchear” es modificar directamente los fuentes del núcleo, incluyendo las variaciones que se hayan introducido.ver el comando diff y patch para más referencias). Por ejemplo, si tiene la versión 2.4.30 y ve que existe un parche linux-2.4.31.patch.gz, con ese fichero podrá actualizarse a la 2.4.31. Ahora, supongamos que tiene linux-2.4.31.patch.gz en /usr/src. Vaya a ese directorio y escriba

zcat linux-2.4.31.patch.gz | patch -p0

El parámetro p0 se debe a que el parche se encuentra dentro del mismo directorio del kernel ya descomprimido, si estamos dentro del directorio del kernel descomprimido y el parche se encuentra un nivel mas arriba, entonces sería asi:

zcat ../linux-2.4.31.patch.gz | patch -p1

Si el parche ya esta descomprimido se aplica de la siguiente manera:

patch -p0 < linux-2.4.31.patch

Verá una serie de mensajes que le dicen que se intentan aplicar los cambios, cuáles tienen éxito y cuáles no. Normalmente, esto irá bien y no habrá que preocuparse de tanto mensaje, aunque con la opción -s solo saldrán los mensajes de error.

4. Configurar y compilar el kernel

Setear el kernel con una configuración mínima

make allnoconfig

Configurar el kernel

Se deben seleccionar las opciones específicas para el destino en donde el kernel se va a ejecutar, en nuestro caso en un dispositivo embebido.

make menuconfig

Este comando nos guarda las opciones seleccionadas en un archivo de texto plano .config

Compilar

make dep
make vmlinux

Imagen del kernel

La imagen del kernel comprimida se encuentra en arch/i386/boot/bzImage

Referencia importantísima

http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License