
Compilar un kernel de Linux es una buena idea para escapar del ciclo de actualizaciones de la distribución, sobre todo, si no vas a hacer cambios en tu hardware.
- Obtén el último kernel de Linux. Visitar http://kernel.org/ y bajar la última versión. El nombre del fichero suele ser algo así:
linux-w.x.yy.z.tar.bz2, dondew.x.yy.zes el número de versión actual. Lo más rápido, usar el comandowget:
$ cd /tmp
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-w.x.yy.z.tar.bz2
Nota: reemplaza w.x.yy.z con el número de versión actual. - Descomprime el tarball:
# tar -xjvf linux-w.x.yy.z.tar.bz2 -C /usr/src
# cd /usr/src - Configura el kernel.
Antes que nada, comprueba que tienes las herramientas necesarias para compilar (gcc), si no es así (en Debian):
# apt-get install gcc - Crea un enlace simbólico que apunte al nuevo kernel:
# ln -s linux-w.x.yy.z linux
# cd linuxUna vez con las herramientas instaladas, empezamos a configurar a través de alguno de estos programas:
$ make menuconfig– Menú basado en texto coloreado, botones de radio & dialogos. Esta opción es mi preferida porque permite usarla desde un sitio remoto (sin X windows)
$ make xconfig– Desde X windows basado en Qt, para aquellos que usan el escritorio de KDE
$ make gconfig– Desde X windows basado en Gtk, para los que usan GnomeTodos ellos tienen la función de ayuda disponible, para conocer más sobre cada opción de configuración. El proceso suele ser más o menos largo en función de tu experiencia. No te desesperes y sírvete una taza de café 😉 - Compilar el kernel:
$ make
Compilar los módulos:
$ make modules
Instalar los módulos del nuevo kernel (ahora como root):
$ su -
# make modules_install - Instalar el nuevo kernel.
# make install
Esto instalará tres ficheros dentro del directorio/booty hará algunos cambios en la configuración del grub:
System.map-w.x.yy.z
config-w.x.yy.z
vmlinuz-w.x.yy.z - Crea una imagen initrd. initrd contiene una imagen de los drivers necesarios para cargar el resto del sistema operativo. Muchos sistemas no lo necesitan, pero hacerlo siempre es buena idea:
# cd /boot
# mkinitrd -o initrd.img-w.x.yy.z w.x.yy.z - Modificar el fichero de configuración de Grub.
# vi /boot/grub/menu.lsttitle Debian GNU/Linux, kernel w.x.yy.z Default
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hdXX ro
initrd /boot/initrd.img-w.x.yy.z
savedefault
boot - Reinicia el sistema y prueba el nuevo kernel.