A pesar de lo que mucha gente cree, recompilar el kernel hoy en día no es excesivamente complicado. Además de esto en ciertas ocasiones puede ser necesario, por ejemplo, para poder instalar un módulo que necesitamos y que no viene incluido en el kernel (véase artículo relacionado).
Bueno, comenzamos, como siempre, instalando todos los paquetes necesarios para la compilación del kernel.
sudo apt-get install linux-kernel-devel linux-source build-essential pkg-config ncurses-dev qt3-apps-dev qt3-assistant qt3-designer qt3-dev-tools qt3-doc qt3-qtconfig
acto seguido descomprimimos el kernel en el directorio /usr/src
cd /usr/src
sudo tar xjf linux-source-2.6.22.tar.bz2
Y ahora tenemos que configurarlo (esto lo vamos a hacer de una forma realmente sencilla) : tecleamos
cd linux-source-2.6.22
make xconfig
y nos aparecerá un menú parecido a:
Abrimos (File>load) el fichero de configuración que se encuentra en /boot/config-2.6.22-14-generic y acto seguido lo guardamos como “.config”
a continuación ejecutamos en este orden.
sudo su
make ; make modules ; make modules_install ; exit
estos tres pasos suelen tomarse bastante tiempo aunque no necesitan ninguna atención, a no ser que algo haya ido mal.
Una vez terminado, copiamos el kernel recien compilado al directorio /boot
sudo cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.22
creamos su correspondiente fichero initrd
sudo mkdir /lib/firmware/2.6.22.9
sudo mkinitramfs -o /boot/initrd.img-2.6.22 2.6.22.9
Y por último sólo nos queda añadir en el fichero de configuración del grub el nuevo kernel.
sudo gedit /boot/grub/menu.lst
Nos vamos a la linea donde aparece por primera vez
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,?)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=???????-????-????-????-?????????????? ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
y añadimos justo antes:
title Ubuntu 7.10, kernel 2.6.22
root (hd0,?)
kernel /boot/vmlinuz-2.6.22 root=UUID=???????-????-????-????-?????????????? ro quiet splash
initrd /boot/initrd.img-2.6.22
quiet
(Notar que los caracteres marcados como ? son diferentes dependiendo de la instalación de cada uno, así que hay que copiar y pegarlo sin modificarlos)
Una vez finalizado todo esto ya podemos reiniciar el ordenador con el kernel nuevo. Recordar que ahora probablemente necesitemos recompilar para el nuevo kernel todos los módulos que teníamos antes.