Compilando el Kernel en Debian (Guia Básica)

La mejor manera para optimizar el funcionamiento de nuestro sistema GNU/Linux es compilando el kernel a la medida de la máquina sobre la que va a trabajar. Para poder hacerlo necesitamos un conocimiento profundo del hardware de nuestro equipo; si bien no, debemos conocer los componentes principales del mismo (como por ejemplo el procesador, la tarjeta gráfica, la tarjeta de red…).

En primer lugar tenemos que descargar la versión del núcleo que deseamos compilar (la última versión actual es la 2.6.28) desde la página oficial www.kernel.org, e instalar los siguientes paquetes:

# apt-get install linux-initramfs-tool kernel-package devhelp modutils libncurses5-dev Una vez hecho movemos el archivo descargado a la carpeta /usr/src y lo descomprimimos:

# mv linux-2.6.28.tar.bz2 /usr/src

# cd /usr/src

# tar -jxvf linux-2.6.28.tar.bz2

Tras esto creamos un enlace simbólico al directorio /usr/src/linux y después ingresamos en él. Cuando estamos dentro es el momento de añadir los parches que queramos incorporar, uno por uno.

# ln -sf /usr/src/linux-2.6.28 /usr/src/linux

# cd /usr/src/linux

# patch -p1 /directorio/del/parche (debemos realizar este comando para cada parche que queramos añadir)

Para configurar el núcleo antes de la compilación tenemos distintas maneras, desde la consola hasta un modo gráfico.

# make config (para configurar el kernel opción por opción, poco recomendable)

# make menuconfig (para configurar el kernel mediante un menu en la consola)

# make xconfig (configuración gráfica utilizando QT)

# make gconfig (configuración gráfica utilizando GTK)

Para realizar una configuración completamente nueva debemos ejecutar el siguiente comando antes de empezar a configurar el núcleo.

# make mrproper

Esto elimina toda configuración antigua, así como todo los archivos creados en una compilación anterior. Después de esto empieza la compilación:

# make dep clean

# make bzImage

# make modules modules_install

Una vez acabada la compilación (tras un buen rato), copiamos la imagen al directorio /boot:

# cp /usr/src/linux/arch/arquitectura/boot/bzImage /boot/vmlinuz-versiondelkernel

Donde pone arquitectura sera la arquitectura de la máquina (i386, 486, 686, x86…) y donde apareze versiondelkernel pondremos la versión del núcleo que hemos compilado (ej: 2.6.28). Para cualquier otra distribución prácticamente hemos acabado, pero para Debian todavía queda algo más.

# mkinitramfs -o /boot/initrd.img-versiondelkernel /lib/modules/versiondelkernel/

Finalmente tenemos que modificar el menú del GRUB introduciendo unas lineas como el ejemplo:

# nano /boot/grub/menu.lst

después de la linea que dice: ## ## End Default Options ## colocamos las siguientes lineas:
title Mi Nuevo kernel
root (hd0,1)
kernel /boot/kernel-2.6.28 root=/dev/hda2 ro
initrd /boot/initrd.img-2.6.28
savedefault
boot

Donde dice Mi Nuevo kernel le colocas el titulo que quieras, este aparecerá en el menú del GRUB al iniciar la máquina.

Anuncios
    • nodlag
    • 30/12/08

    Una forma más sencilla no sería crear los paquetes .deb e instalarlos con el comando?

    fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers

    • migatxu
    • 5/01/09

    Pues sí nodlag, pues sí.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: