Nota:Antes de continuar con el proceso de compilacion e instalacion, haz un backup de tu kernel, no nos hacemos responsables por algun daño causado en tu sistema, si a su sistema le sucedio un “Kernel Panic” o simplemente no arranca nada, no formatee el equipo, solo bootee la distro de linux que utilizaba, y solo reinstale el kernel.
¿Que es un Kernel?
En informatica, el kernel (tambien conocido como nucleo) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora. Como hay muchos programas y el acceso al hardware es limitado, el nucleo tambien se encarga de decidir que programa podra hacer uso de un dispositivo de hardware y durante cuanto tiempo, lo que se conoce como multiplexado.
fuente: es.wikipedia.org/wiki/Kernel
¿Donde Consigo un Kernel?
Para conseguir un Nucleo o Kernel, podras encontrarlos en http://kernel.org/pub/linux/kernel/ su codigo es totalmente gratis
Bajando el archivo y su descompresion
en esta parte, como ejemplo me bajare el kernel 2.6.20 (version), hay ya una version 2.6.21, pero aun esta en prueba y es un poco inestable….
link o url hacia el kernel-2.6.20
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
formas de bajar el archivo
root@linux-user:~#wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
root@linux-user:~#links http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
root@linux-user:~#lynx http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
cuando se termine de bajar el archivo, hay que descomprimirlo de esta forma
oot@linux-user:~#tar zvfx linux-2.6.20.tar.gz
y nos saldra una carpeta por nombre “linux-2.6.20″, esa carpeta la moveremos a “/usr/src/” como usuaro “root”, y accederemos a la carpeta
root@linux-user:~#mv linux-2.6.20 /usr/src/ && cd /usr/src/linux-2.6.20
Entornos de configuracion
hay varias formas de menus para configurar el kernel antes de su compilacion e instalacion,estas son algunas.
root@linux-user:/usr/src/linux-2.6.20#make config
esta es una forma de configurar el kernel, esta forma es demaciado dificil y poco entendible (no recomendable)

root@linux-user:/usr/src/linux-2.6.20#make menuconfig
esta tambien es una forma de configurar el kernel, es muy sencilla, y muy rapida.(menus)

Pulsando (Enter), abrimos menus o submenus
Pulsando (Y), incluimos lo que seleccionamos como parte de la imagen del Kernel o nucleo
Pulsando (M), lo incluiremos como un modulo, se compila aparte, se cargan si queremos.
Pulsando (N), lo excluiremos de la compilacion del kernel
Pulsando (?), nos dara informacion de tal opcion
un [*], significa que la opcion sera compilada como parte de la imagen
un [ ], significa que la opcion no sera compilada como parte de la imagen
root@linux-user:/usr/src/linux-2.6.20#make xconfig
esta forma es con entorno grafico, es demaciado sencilla y muy facil de configurar y entender. (recomendada)

al marcar un cuadro con un ala, significa que la opcion sera compilada como parte de la imagen
al marcar un cuadro con un circulo, significa que la opcion sera compilada como un modulo
al no marcar un cuadro, significa que excluiremos la opcion
para que no falle el kernel, al arrancar el sistema, debe de tener una buena lista sobre su hardware, ya que si se llega a equivocar, podra salir un “Kernel Panic”, o simplemente, no arrancar el sistema
Compilando imagen y sus modulos
en esta parte, compilaremos la imagen del kernel, es recomendable que tenga muy pocas aplicaciones abiertas, ya que al compilar la imagen y los modulos, pondra su maquina un poco inestable.
root@linux-user:/usr/src/linux-2.6.20#make bzImage && make modules && make modules_install
en esta parte, empezara a crear la imagen y los modulos, es tardado es proceso.
Poniendo los archivos en su lugar
para poner la imagen nueva del kernel y que funcione, debemos de copiarlo al directorio “/boot/”
root@linux-user:/usr/src/linux-2.6.20#cp /arch/i386/boot/bzImage /boot/vmlinuz-2.6.20
ahora crearemos el mapa de la imagen de esta forma (mkinitrd)
root@linux-user:/usr/src/linux-2.6.20#mkinitrd -o /boot/vmlinuz-2.6.20.img /lib/modules/2.6.20/
Configurando GRUB (si lo tiene instalado)
desde la consola de linux o terminal de linux, escriba
root@linux-user:/usr/src/linux-2.6.20#nano /boot/grub/menu.lst
después de la linea que dice ## ## End Default Options ##, escribimos lo siguiente:
title Kernel-2.6.20
root (hd0,1)
kernel /boot/vmlinuz-2.6.20 root=/dev/hda2 ro
initrd /boot/vmlinuz-2.6.20.img
savedefault
boot
Configurando LILO (si lo tiene instalado)
para configurar LILO para que detecte el nuevo kernel, esriba en la consola o terminal de linux
root@linux-user:/lib/modules/2.6.20# lilo
Added Windows *
Added Linux
root@linux-user:/lib/modules/2.6.20# lilo -t
Added Windows *
Added Linux
The boot sector and the map file have *NOT* been altered.
por ultimo, solo reinicie el sistema y listo, tendra un nuevo kernel, para saber si tiene otro kernel instalado, abra la consola o terminal de linux y escriba
root@linux-user:~# uname -r
2.6.20
Tutorial hecho por ASMx86 [SSD] member