Compilación del kernel en GNU/Linux Debian
El artículo se divide en dos partes, una para la compilación y instalación del kernels 2.4 y 2.6.
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
Primero necesitamos descargar el source del kernel, lo descargamos con wget, lo instalaremos con apt.
apt-get update
apt-get install wget
cd /usr/src
wget www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.bz2
Descomprimimos los sources.
apt-get install bzip2
tar jxvf linux-2.4.28.tar.bz2
Creamos un link simbólico.
ln -s linux-2.4.28 linux
OPCIONAL: Parchear el kernel con soporte encriptación MPPE 128bit y compresión MPPC VPN Server
wget -c http://www.polbox.com/h/hs001/linux-2.4.28-mppe-mppc-1.2.patch.gz
cd linux
apt-get install patch
zcat ../linux-2.4.28-mppe-mppc-1.2.patch.gz | patch -p1
Configuramos el kernel para adaptarlo a nuestro hardware.
apt-get install libncurses5-dev make gcc
make clean mrproper
make menuconfig
Una vez configurado el kernel , compilamos la imagen del kernel Linux y los módulos.
make dep
make bzImage
make modules
Instalamos los módulos, copiamos la imagen del kernel al /boot.
make modules_install
cp arch/i386/boot/bzImage /boot/2.4.28.img
Creamos la imagen del initrd.
apt-get install mkinitrd-tools
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.
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.
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.
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
Kernel 2.6.x en Debian.
Primero necesitamos descargar el source del kernel, lo descargamos con wget, lo instalaremos con apt.
apt-get update
apt-get install wget
cd /usr/src
wget www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.11.tar.bz2
Descomprimimos los sources.
apt-get install bzip2
tar jxvf linux-2.6.11.11.tar.bz2
Creamos un link simbólico.
ln -s linux-2.6.11.11 linux
OPCIONAL: Parchear el kernel con soporte encriptación MPPE 128bit y compresión MPPC VPN Server
wget -c http://www.polbox.com/h/hs001/linux-2.6.11-mppe-mppc-1.3.patch.gz
cd linux
apt-get install patch
zcat ../linux-2.6.11-mppe-mppc-1.3.patch.gz | patch -p1
Configuramos el kernel para adaptarlo a nuestro hardware.
apt-get install libncurses5-dev make gcc
make clean mrproper
make menuconfig
Una vez configurado el kernel , compilamos la imagen del kernel Linux y los módulos.
make bzImage
make modules
Instalamos los módulos, copiamos la imagen del kernel al /boot.
make modules_install
cp arch/i386/boot/bzImage /boot/2.6.11.img
Creamos la imagen del initrd.
apt-get install mkinitrd-tools
mkinitrd -o /boot/initrd.2.6.11.img /lib/modules/2.6.11
Opción A: Gestor de arranque Lilo
Editamos el lilo.conf
nano -w /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.
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.
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.









