Compilar el kernel 2.4 o 2.6 en debian
El artículo se divide en dos partes, una para la instalación de kernels 2.4 y otra para los 2.6, así podeis seguir fácilmente el caso que queráis compilar.
Los pasos están orientados a la compilación del kernel bajo Debian, aunque es fácilmente aplicable a cualquier otra distribución.
Espero que quede suficientemente claro, sino hacédmelo saber.
- Kernel 2.4.x en Debian
- Kernel 2.6.x en Debian.
Primero necesitamos descargar el source del kernel, lo descargamos con wget, lo instalaremos con apt.
Aida:/# apt-get update
Aida:/# apt-get install wget
Aida:/# cd /usr/src
Aida:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.bz2
Descomprimimos los sources.
Aida:/usr/src# apt-get install bzip2
Aida:/usr/src# tar jxvf linux-2.4.28.tar.bz2
Creamos un link simbólico.
Aida:/usr/src# ln -s linux-2.4.28 linux
OPCIONAL: Parchear el kernel con soporte encriptación MPPE 128bit y compresión MPPC VPN Server
Aida:/usr/src# wget -c http://www.polbox.com/h/hs001/linux-2.4.28-mppe-mppc-1.2.patch.gz
Aida:/usr/src# cd linux
Aida:/usr/src/linux# apt-get install patch
Aida:/usr/src/linux# zcat ../linux-2.4.28-mppe-mppc-1.2.patch.gz | patch –p0
Configuramos el kernel para adaptarlo a nuestro hardware.
Aida:/usr/src/linux# apt-get install libncurses5-dev
Aida:/usr/src/linux# make clean mrproper
Aida:/usr/src/linux# make menuconfig
Una vez configurado el kernel , compilamos la imagen del kernel Linux y los módulos.
Aida:/usr/src/linux# apt-get install gcc make
Aida:/usr/src/linux# make dep
Aida:/usr/src/linux# make bzImage
Aida:/usr/src/linux# make modules
Instalamos los modulos, copiamos la imagen del kernel al /boot.
Aida:/usr/src/linux# make modules_install
Aida:/usr/src/linux# cp arch/i386/boot/bzImage /boot/2.4.28.img
Creamos la imagen del initrd.
Aida:/usr/src/linux# apt-get install mkinitrd-tools
Aida:/usr/src/linux# mkinitrd –o /boot/initrd.2.4.28.img /lib/modules/2.4.28
Opción A: Gestor de arranque Lilo
Editamos el lilo.conf y añadimos la nueva imagen de nuestro kernel.
Aida:/usr/src/linux# nano -w /etc/lilo.conf
image=/boot/2.4.28.img
label=2.4.28
read-only
initrd=/boot/initrd.2.4.28.img
Cargamos la nueva configuración del lilo.
Aida:/usr/src/linux# lilo -v
Opción B: Gestor de arranque Grub
Editamos el archivo de configuración del grub y añadimos la nueva imagen de nuestro kernel.
Aida:/usr/src/linux# nano -w /boot/grub/menu.lst
title Debian GNU/Linux, kernel 2.4.28
root (hd0,1)
kernel /boot/2.4.28.img root=/dev/hda1 ro
initrd /boot/initrd.2.4.28.img
savedefault
boot
Primero necesitamos descargar el source del kernel, lo descargamos con wget, lo instalaremos con apt.
Aida:/# apt-get update
Aida:/# apt-get install wget
Aida:/# cd /usr/src
Aida:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.11.tar.bz2
Descomprimimos los sources.
Aida:/usr/src# apt-get install bzip2
Aida:/usr/src# tar jxvf linux-2.6.11.11.tar.bz2
Creamos un link simbólico.
Aida:/usr/src# ln -s linux-2.6.11.11 linux
OPCIONAL: Parchear el kernel con soporte encriptación MPPE 128bit y compresión MPPC VPN Server
Aida:/usr/src# wget -c http://www.polbox.com/h/hs001/linux-2.6.11-mppe-mppc-1.3.patch.gz
Aida:/usr/src# cd linux
Aida:/usr/src/linux# apt-get install patch
Aida:/usr/src/linux# zcat ../linux-2.6.11-mppe-mppc-1.3.patch.gz | patch –p0
Configuramos el kernel para adaptarlo a nuestro hardware.
Aida:/usr/src/linux# apt-get install libncurses5-dev
Aida:/usr/src/linux# make clean mrproper
Aida:/usr/src/linux# make menuconfig
Una vez configurado el kernel , compilamos la imagen del kernel Linux y los módulos.
Aida:/usr/src/linux# apt-get install gcc make
Aida:/usr/src/linux# make dep
Aida:/usr/src/linux# make bzImage
Aida:/usr/src/linux# make modules
Instalamos los modulos, copiamos la imagen del kernel al /boot.
Aida:/usr/src/linux# make modules_install
Aida:/usr/src/linux# cp arch/i386/boot/bzImage /boot/2.6.11.img
Creamos la imagen del initrd.
Aida:/usr/src/linux# apt-get install mkinitrd-tools
Aida:/usr/src/linux# mkinitrd –o /boot/initrd.2.6.11.img /lib/modules/2.6.11
Opción A: Gestor de arranque Lilo
Editamos el lilo.conf
Aida:/usr/src/linux# vi /etc/lilo.conf
image=/boot/2.6.11.img
label=2.4.20
read-only
initrd=/boot/initrd.2.6.11.img
Cargamos la nueva configuración del lilo.
Aida:/usr/src/linux# lilo -v
Opción B: Gestor de arranque Grub
Editamos el archivo de configuración del grub y añadimos la nueva imagen de nuestro kernel.
Aida:/usr/src/linux# nano -w /boot/grub/menu.lst
title Debian GNU/Linux, kernel 2.6.11
root (hd0,1)
kernel /boot/2.6.11.img root=/dev/hda1 ro
initrd /boot/initrd.2.6.11.img
savedefault
boot
Ahora solo queda saber si el nucleo funciona correctamente, en caso de fallo revisar la configuración del kernel.
Si hay algún problema con estos pasos o no os compila bien y no sabéis por qué, podeis dejar un comentario con vuestras preguntas.
Saludos,
Fran.

