Compilar el kernel a lo Debian


Tengo que admitir que Debian facilita algunas tareas de administración como el proceso de compilado del kernel. A primera vista, el procedimiento luce similar al que vimos de compilar el kernel a lo tradicional pero lo que lo hace diferente es que terminarás con un archivo .deb con la imagen del kernel, de forma que será más fácil instalar la misma imagen en otras computadoras con solo instar el archivo .deb.

Otra ventaja de compilar el kernel en Debian es que no tienes que preocuparte por hacer la imagen intramfs o hacer cambios en el gesto de arranque, ya que Debian lo hace automágicamente.

Entonces, creo que puedes estar interesado en compilar el kernel a lo Debian, así que veamos cómo hacerlo…

Requisitos

Como vas a compilar un kernel, necesitarás algunos archivos y compiladores. También necesitarás ncurses para desplegar diálogos en una consola, y para crear un archivo .deb necesitarás el paquete kernel-package. En Debian puedes instalar todo esto escribiendo:

aptitude install build-essential libncurses5-dev kernel-package

Directorio de trabajo

Es común usar el directorio /usr/src/ al momento de compilar el kernel, controladores y módulos. Entonces, entra a ese directorio:

cd /usr/src/

Procedimiento

Necesitarás las fuentes del kernel para compilarlo. Estas pueden obtenerse desde los repositorios de la distribución o desde kernel.org directamente. En Debian tendrás un archivo tar en el directorio /usr/src/ al instalar el siguiente paquete:

aptitude install linux-source-2.6.30

Si quieres descargarlas desde kernel.org sería algo como como esto:

wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz2

Ahora descomprime el archivo tar:

tar xjfv linux-2.6.32.2.tar.bz2
De existir por compilaciones previas, borra el enlace linux:
rm linux
Ahora crea un enlace al directorio descomprimido. Si descargaste las fuentes desde Debian esto sería:
ln -s linux-source-2.6.30 linux

Si las descargaste desde kernel.org, debes escribir:

ln -s linux-2.6.32.2 linux

Entra al directorio linux:

cd linux

Si has compilado otros kernels es buena idea limpiar todo antes de comenzar a compilar el kernel nuevo:

make mrproper

Procede ahora a configurar las opciones de tu kernel. Para hacer esto, puedes usar make config (una interfaz interactiva pero algo molesta), make menuconfig (basada en mcurses). Yo sugiero usar la segunda opción:

make menuconfig

Luego de que hayas seleccionado las opciones, escoge Exit para escribir el archivo .config.

A lo Debian

Aquí es donde las cosas son diferentes del procedimiento original porque compilarás tu kernel y sus módulos pero el resultado de la compilación quedará en un archivo .deb. Digamos que quieres compilar una imagen de Linux con los archivos initramfs y headers, la orden y opciones para hacer esto es:

make-kpkg --revision lnv1 --initrd kernel_image kernel_headers

Donde:

Option Description
--revision lnv1
Número de versión del archivo .deb generado
--initrd
Incluir la imagen initramfs y sus scripts de instalación
kernel_image
Generar un archivo .deb con la imagen del kernel
kernel_header
Generar un archivo .deb con los headers del kernel

Para instalar tu nuevo kernel compilado solo instala el archivo .deb como sigue:

dpkg -i /usr/src/linux-image-2.6.32.2-mundungus_lnv1_i386.deb

Esto instalará la imágenes del kernel y el initrd en el directorio /boot y ejecutará en utilitario update-grub automáticamente, de forma que la nueva imagen del kernel aparecerá listada en el menú de grub la próxima vez que reinicies tu computadora.

Compártelo:
  • Twitter
  • Facebook
  • Identi.ca
  • del.icio.us

Artículos relacionados:

  1. Compilar el kernel a lo tradicional
  2. ¿Y cuánto tarda compilar el kernel de la netbook en el PC?
  3. Compilando el Kernel en el PS3
  4. Compilar kernel a la medida
  5. ¿Y cuańto tarda en compilar el kernel en una PC de escritorio?

,

  1. No hay Comentarios
(No será publicado)

Switch to our mobile site