viernes, febrero 08, 2008

Receta para compilar un kernel

Es la paso a paso de como se debe compilar un kernel definida por mi profesor Alberto Molina:

  1. Obtener el núcleo. La opción sencilla es (puede obtenerse también de www.kernel.org):
    • aptitude install linux-source-2.6.18
    • El resultado es el fichero /usr/src/linux-source-2.6.18.tar.bz2
  2. Crear un directorio para la compilación y descomprimir en él el núcleo:
    • mkdir ~/linux
    • cd ~/linux
    • tar xjf /usr/src/linux-source-2.6.18.tar.bz2
  3. Utilizar el fichero de configuración del núcleo actual como punto de partida. Para ello:
    • cp /boot/config-`uname -r` ~/linux/linux-2.6.18/.config
  4. Configurar el núcleo
    • Etiquetar el nuevo núcleo poniendo un número significativo en la constante EXTRAVERSION que aparece en el fichero Makefile (por ejemplo -10)
    • Configurar el núcleo con una de las siguientes opciones:
      • make menuconfig (necesita las bibliotecas de desarrollo de ncurses)
      • make gconfig (necesita las bibliotecas de desarrollo de gtk)
      • make xconfig (necesita las bibliotecas de desarrollo de qt)
  5. Compilar la parte monolítica, los módulos y generar un paquete debian con todo:
    • make deb-pkg
    • El paquete así generado se almacena en ~/linux
  6. Instalar el nuevo núcleo en el sistema
    • dpkg -i linux-2.6.18-10_2.6.18-10_i686.deb
    • Generar la initrd: mkinitramfs -o /boot/initrd.img-2.6.18-10 2.6.18-10
    • Actualizar GRUB: update-grub
  7. Reiniciar y probar.
  8. En caso de que tengamos o queramos volver a compilar, tendríamos que seguir uno de estos dos caminos:
    • make clean y continuar por el punto 4 (manteniendo el fichero .config previo)
    • make mrproper y continuar por el punto 3 (para empezar de cero).

No hay comentarios: