Compilando el kernel de Linux

Lo prometido es deuda, les pongo los pasos más sencillos para compilar el kernel:

  1. Bajar el kernel deseado, opté por buscar en http://www.kernel.org/
    $wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.4.tar.bz2
  2. Descomprimir el kernel
    $tar -xjf linux-2.6.30.4.tar.bz2
  3. Mover el kernel a su ubicación final
    $sudo mv linux-2.6.30.4 /usr/src/
  4. Crear unos enlaces simbólicos para tener ordenado todo :P
    $sudo ln -sn linux-2.6.30.4 linux
  5. Instalar los paquetes para poder compilar el kernel
      Para usar menuconfig se instala ncurses-dev, para gconf libglade2-dev
    $sudo apt-get install build-essential kernel-package ncurses-dev libglade2-dev
  6. Configurar el kernel
    OPCIONAL: Lo más sencillo es tomar las configuraciones actuales como base

    $sudo cd /usr/src/linux
    $sudo cp /boot/config-`uname -r` .config

    Ahora hay que decirle que actualice las configuraciones

    $sudo make oldconfig
  7. Configurar “a mano” lo que se desee del kernel
    $sudo make gconfig

    Y editar… guardar y salir

  8. Compilar el kernel… la bendición de Debian :)
    $sudo make-kpkg clean
    $sudo make-kpkg --initrd --stem linux kernel_image kernel_headers kernel_doc
  9. A esperar un buen rato para que se compile…
  10. Te debe arrojar tres empaquetados en el mismo directorio donde estas o en el directorio padre, ahora solo se instalan:
    $sudo dpkg -i *.deb
  11. Listo, reiniciar y seleccionar el nuevo kernel o editar el archivo /boot/grub/menu.lst e indicarle que inicie con el nuevo kernel por defecto

¿Pero para qué todo esto? Generalmente para sistemas empotrados, hacer más eficiente la computadora, para agregar funcionalidades que el kernel actual no tiene o tan solo para perder el tiempo. Pueden jugar un rato con esto, les prepararé algo de información sobre RTAI, como parchar el kernel y que se puede esperar.