Compilar kernel de Linux 2.6

xmenuconfig
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.

  1. 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, donde w.x.yy.z es el número de versión actual. Lo más rápido, usar el comando wget:
    $ 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.
  2. Descomprime el tarball:
    # tar -xjvf linux-w.x.yy.z.tar.bz2 -C /usr/src
    # cd /usr/src
  3. 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
  4. 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é 😉
  5. Compilar el kernel:
    $ make
    Compilar los módulos:
    $ make modules
    Instalar los módulos del nuevo kernel (ahora como root):
    $ su -
    # make modules_install
  6. Instalar el nuevo kernel.
    # make install
    Esto instalará tres ficheros dentro del directorio /boot y 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
  7. 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
  8. Modificar el fichero de configuración de Grub.

    # vi /boot/grub/menu.lst

    title 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

  9. Reinicia el sistema y prueba el nuevo kernel.