Recompilar Kernel En Gnu/Linux

Para compilar un kernel en linux básicamente necesitamos 3 cosas. Los paquetes de librerias del GCC, el paquete libncurses5-dev y el kernel en fuente, que podemos obtener de Aqui

Lo descargamos en /usr/src y lo descomprimimos:

  # cd /usr/src
# tar xvfj linux-version.tar.bz2

entramos al directorio donde estan las fuentes y ejecutamos el menú de configuración del kernel en el que añadiremos o quitaremos modulos según las caracteristicas de nuestro kernel:

  # cd linux-version
# make menuconfig

Cuando acabemos, compilaremos el kernel de la siguiente forma.

Si es 2.4.x o anterior, primero pondremos:

  # make dep

En el resto de los nucleos pasaremos por alto este comando e iremos de una a la cuestión en proceso:

  # make bzImage && make modules && make modules_install

Tras lo cual, en arquitectura PC encontraremos el bianrio del nuevo kernel en /usr/src/linux-verion/arch/i386/boot/bzImage. Copiamos la imagen a /boot para tenerla bien localizada:

  # cp arch/i386/boot/bzImage /boot

Y la añadimos al gestor de arranque. Este paso es diferente según el gestor que tengamos. Es mas recomendable siempre añadir el kernel nuevo al gestor que sustituir el kernel viejo por el nuevo. De otro modo, si nos hubiesemos equivocado, Linux no arrancari correctamente y tendríamos un big problem!!!. jejeje xD

4 comentarios:

camilo zapata dijo...

Hola a todos,

hace poco tuve que parchar mi kernel, necesitaba agregar soporte para el dispositivo virtual IMQ, en debian etch, supuse que esta tarea seria tan tediosa como siempre, pero no recordaba exactamente que comandos usar para obtener una imagen comprimida para el "booteo", así que me decidí a buscar un poco y oh sorpresa ahora en debian es mucho mas simple.

1. Configuras el Kernel (tal cual como describe Th3doctor)

2. para compilar el Kernel, sus dependencias y los modulos:
make-kpkg --append_to_version -IMQ -rev rev-1.0 kernel_image

Puedes agregra mas opciones, como --initrd, si lo usas, y usar fakeroot si lo deseas.
Después de esto solo hace falta instalar la imagen y esto es lo novedoso, es tan fácil como todo en Debian:

3. cd /usr/src

dpkg -i kernel-image*.deb

y Listo.

Mucha suerte

DUMA

Anónimo dijo...

Hola

Yo me esperaba un comentario así de alguien que tuviera experiencia con el tema ya que suponía que solo recompilar el kernel no tendría mucho sentido sin realizar primero una modificación al mismo :P.

Por eso no había opinado sobre este topic, pero apenitas lo haga les cuento

Anónimo dijo...

pero lo importante es que tuve la idea y yo de tanto peliar con eso medio a la final depronto si omiti detalles ahi duma me corrijio pero pa eso es veo que desde que se postean cosas asi se ingresa mas al blog
eso me alegra :P

camilo zapata dijo...

Hola a todos,

Muy valida la aclaración que nos hace xpam, uno no recompila un kernel porque si, en el caso que expongo "arriba" necesite recompilar el kernel, pues use un parche para agregar soporte para el dispositivo virtual IMQ. El procedimiento de "parcheo" no fue descrito, y se los deberé por un tiempo.

Suerte a todos

DUMA