Compilando el núcleo


Para configurar ciertos servicios de tu sistema, a veces es necesario modificar el núcleo. Es una tarea tediosa, pero que desgraciadamente se tiene que hacer alguna vez que otra:

Pasos a seguir:

1) Instalar el paquete kernel-package: 'apt-get install kernel-package'

2) Copiar/instalar el archivo con las fuentes del kernel comprimidas en /usr/src

3) Si el archivo tiene el sufijo tar.gz, descomprimir con 'tar -zxf kernel-source-[versián del kernel].tar.gz' si el sufijo es tar.bz2 descomprimir con 'tar -Ixf kernel-source-[versián del kernel].tar.gz'

Recuerda que las revisiones de los núcleos que terminan en número par son versiones estables, e inestables las que terminan en nú impar. De esta manera nos refeririamos a una version estable al hablar del núcleo 2.4.18 siendo inestable una versión 2.4.19. 4) [Esto no es necesario] Creamos un link del directorio creado (que sera del tipo kernel-source-x.y.z) con 'ln -s kernel-source-x.y.z linux' y desinstalamos el archivo comprimido de los sources (si los hemos instalado en formato .deb) o simplemente borramos el fichero para ahorrarnos un poquito de espacio.

[Ahora tenemos en /usr/src/linux los sources del núcleo]

5) Antes de hacer ninguna nueva recompilacion, tenemos que limpiar lo que hayamos hecho en alguna recompilacion anterior: 'make mrproper' (esto limpiará el ejecutable y la configuración del núcleo anterior sin dejar rastro de él) o 'make clean' (menos agresivo que make mrproper, solo borra el ejecutable).

6) Ahora pasemos a configurar el núcleo, es decir personalizar las opciones de este para adptarlo a nuestro sistema y nuestras necesidades. Podemos usar:

* make config: Sistema arcano, críptico, al que se deberá responder a cada pregunta de las opciones del núclo una a una.

* make menuconfig: Para ejecutarlo desde consola usando las librerias ncurses. Aqui podemos abrir un archivo con la configuración que hayamos guardado anteriormente para modificar sobre esa base (si no es la primera vez que lo hacemos), luego cambiar las opciones que queramos y salvar de nuevo el fichero para posteriores cambios. Si es la primera vez, vale la pena leerse todas as preguntas minuciosamente para discernir cuales son útiles y cuales no (se puede obtener una pequeña descripción de esa pregunta).

* make xconfig: Igual que make menuconfig, pero desde X-Windows.

7) Ahora que ya esta configurado lo que queremos y lo que no, pasemos a compilar (la parte larga, o pesada); desde /usr/src/linux (que es desde donde hemos estado trabajando todo el rato) hacemos:

* make dep: Crea toda una serie de enlaces necesarios antes de proceder a la compilación.

* make bzImage: Esto nos compilará y creará los módulos del nuevo núcleo y nos creará una imagen de éste en el fichero /usr/src/linux/arch/i386/boot/bzImage. Tenemos la opción de ejecutar make bzImage > /dev/null para que solo nos devuelva los mensajes de error y los warnings lo que hará que el proceso de compilación sea más rápido.

* make modules y make modules_install: Crea e instala los nuevos drivers para el núcleo (los que le hemos indicado como módulos en la selección de opciones del núcleo) que luego podrán ser instalados e desintalados con (p.e.) modconf>.

9) Ahora se copia el fichero con el nuevo nácleo al directorio boot: cp /usr/src/linux/arch/i386/boot/bzImage /boot/[nombre]

10) Modificamos el archivo /etc/lilo.conf para permitir arrancar con la nueva versión del núcleo sin perder la anterior, añadiriamos lo siguiente:
image=/boot/[nombre]
label=[etiqueta de como llamaremos al nuevo arranque]
root=/dev/[disco]
read-only


Recuerda que en la etiqueta default se indica que sistema (o imagen del núcleo) arracará por defecto. Después de esto solo tendremos que ejecutar lilo y reeniciar la máquina.



No tenemos copyright, ni declaracion de privacidad, ni lo veras mejor con ningun otro navegador.

Last modified: Monday, 1 July 2013, 09:14 AM