Compilar un nuevo Kernel

Estos son los pasos a seguir para instalar un nuevo kernel en su versión 2.6.29.3. Bajamos y descomprimimos la versión deseada:

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.3.tar.bz2
tar xjvf linux-2.6.29.3.tar.bz2
ln -s /usr/src/linux-2.6.29.3 linux
cd /usr/src/linux

Copiamos la configuración del kernel que usamos actualmente:

cp /boot/config-2.6.26-1-686 /usr/src/linux

Ejecutaremos el siguiente comando para adaptar el antiguo archivo de configuración a las nuevas características del kernel nuevo. Nos preguntará cosas, yo suelo darle siempre a Enter:

make oldconfig

Después, podremos modificiar lo que queramos con el siguiente comando (si da un fallo, posiblemente sea porque faltan las librerías ncurses -> aptitude install libncurses5-dev):

make menuconfig

Ahora compilamos:

make all && make modules_install

Para que en el inicio cargue los modulos necesarios para el disco duro y sistema de ficheros:

depmod 2.6.29.3 -a
mkinitramfs -o /boot/initrd.img-2.6.29.3 2.6.29.3

Para que copie los ficheros necesarios en /boot:

make install

Sólo queda revistar el grub (o lilo) para ver si todo está bien. En mi caso, que uso grub, quedaría así el /boot/grub/menu.lst:

title       Debian GNU/Linux, kernel 2.6.29.3
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.29.3 root=/dev/hda1 ro
initrd      /boot/initrd.img-2.6.29.3
savedefault

Actualizado: para grub2, sólo hay que hacer update-grub para que actualice la lista de inicio. Por defecto se iniciará en este nuevo kernel.