miércoles, 15 de agosto de 2007

Compilar el Kernel en VM Ware version: 6.0.0 built-45731

Soy uno de los usuarios de Linux y lo tengo instalado en una máquina virtual que corre sobre Windows. La distribución que estoy usando es Fedora Core 6 y la versión de la máquina virtual es VMware 6.0.0 built-45731. A veces por temas de investigación o por curiosidad necesitas compilar el kernel. Y realizarlo es todo un proceso que dura aproximadamente de una o más, por lo que me permito destacar los siguientes pasos:



  1. Primero tiene que tener el kernel que quieres compilarlo para eso puedes bajarte la última versión de www.kernell.org




  1. Luego que ya posees el recurso (es un archivo .tar o bz2). Lo copias en el directorio /usr/src

    • tar -jxvh linux-2.6.*.bz2
    • bzcat linux-2.6.*.bz2 | tar -xvf -



  1. Después de haberlo descomprimido copias toda la capeta del kernel en /usr/src

    • cp linux-2.6.* /usr/src/linux-2.6.*


  1. Una vez copiado el código fuente del kernel en /usr/src nos ubicamos dentro del directorio.
    • cd /usr/src/linux-2.6.*



  1. Una vez en el directorio /usr/src/linux-2.6.*; escogemos el entorno para configurar. El cual puede ser:
  • make config : Es una forma de configurar el kernel, pero es muy difícil y no te la aconsejo.
  • make menuconfig : esta es una manera de configurar fácil y sencilla, basada en menús.
      • Pulsando (Y), incluimos lo que seleccionamos como parte de la imagen del Kernel o núcleo.
      • Pulsando (M), lo incluiremos como un modulo, se compila aparte, se cargan si queremos. Pulsando (N), lo excluiremos de la compilación del kernel.
      • Pulsando (?), nos dará informacion de tal opción
      • un [*], significa que la opción será compilada como parte de la imagen
      • un [·], significa que la opción no será compilada como parte de la imagen.


    • make xconfig : este es en entorno gráfico muy intuitivo y te lo recomiendo.
      • Cada uno de los modulo se muestran como una estructura de árbol (treeview).
      • Hay detalles como en los cuadros que se muestran un visto o un ala, lo que significa que la opción será compilada como parte de la imagen.
      • Cuando se encuentre un cuadro con un círculo, significa que la opción será compilada como módulo.
      • Al no estar marcado el cuadro, se excluirá esta opción.

NOTA: Al finalizar este paso tener en cuenta que: no te aparezcan ningún "warning", sino estas sentenciado a un "KERNEL PANIC". Por eso ten en cuenta mucho esto; y marca los módulos correctos ya que deben de ir de acuerdo con el hardware que dispones. No lo hagas marcar por marcar.



  1. Pasado la configuración de cómo queremos que luzca nuestro nuevo kernel, ahora ejecutamos:
    • make bzImage && make modules && make modules_install

  1. Aquí puedes ir tomar un café si gustas, porque se tarda más o menos de una a dos horas en compilar, de acuerdo a los módulos que hayas seleccionado en el paso anterior.


  1. Ahora copiamos el archivo de la imagen del kernel en /boot.
    • cp /usr/src/linux-2.6.*/arch/i386/boot/bzImage/ /boot/vmlinuz-2.6.*.



  1. Luego creamos el mapa de la imagen del kernel con:
    • mkinitrd /boot/kernel-2.6.*.img 2.6.*



  1. Finalmente modificamos el grub y añadimos la información de nuestro nuevo kernel:
    • vi /boot/grub/menu.lst
  • title Kernel-2.6.*
  • root (hd0,0 )
  • kernel /boot/vmlinuz-2.6.* root=/dev/VolGroup00/LogVol00
  • initrd /boot/kernel-2.6.*.img


Powered by Zoundry