5.3 ¿Cómo se configura e instala el kernel/núcleo?

Imagen de ElSanto

Este es uno de los temas que más asustan a los nuevos usuarios de linux. Lo primero deciros que no hay razón para asustarse, la configuración e instalación de un nuevo núcleo en nuestro sistema es más fácil de lo que suena.

Lo que si hay que hacer, es tener claro una serie de cosas antes de ponernos a trabajar, para asi evitar problemas. A continuación teneis una pequeña guia sobre como configurar e instalar un nuevo núcleo en tu sistema.

Si habeis decidido instalar un nuevo núcleo en tu sistema, esto es lo que teneis que hacer?


  1. Bajarse la última versión. De donde? Leerse la subsección anterior.

    NOTA: Si vais a instalar un núcleo de la serie 2.2.x, teneis que tener en cuenta que algunas distribuciones no están/estaban preparadas para hacer uso de esta serie. Si vuestra distribución no es de las que vienen preparadas, teneis que actualizar una serie de paquetes/programas antes de instalar el nuevo núcleo (mas información en la documentación que acompaña al nucleo). Las últimas distribuciones vienen todas preparadas para los núcleos de la serie 2.2.x y posteriores, esta nota solo es para los que tengan una distribución antigüa.

  2. Tener claro lo que vamos a hacer, leerse el documento HOWTO sobre el núcleo (Ingles / Castellano)
  3. Tener claro las opciones que tenemos que configurar, para poder utilizar el hardware de nuestro sistema, asi como las características que queremos utilizar. Por ejemplo, si no utilizamos un dispositivo SCSI, no tenemos que configurar nada en el apartado SCSI de nuestro núcleo. Asi nos ahorramos espacio y tiempo.
  4. Entrar como root: su root
  5. Ir al directorio /usr/src/: cd /usr/src/
  6. Copiar el archivo que os habeis bajado al directorio /usr/src: cp linux-xx.yy.zz.tar.gz .
  7. Descomprimirlo y desempaquetar: tar -xvzpf linux-xx.yy.zz.tar.gz

    NOTA: El archivo linux-xx.yy.zz.tar.gz se desempaquetará en el directorio /usr/src/linux. Si ya existe un directorio llamado /usr/src/linux en tu sistema, renombrarlo, p.ej: mv linux linux-old. En algunas distribuciones, usr/src/linux es un enlace simbólico a linux-x.y.z, borrar este enlace simbólico. Es importante que no exista ningún directorio/enlace simbólico llamado linux, antes de desempaquetar la nueva versión. Si te has bajado el kernel comprimido con bzip2, tendras que descomprimirlo con bunzip2 linux-xx.yy.zz.tar.bz2 antes de desempaquetarlo con tar -xvf linux-xx.yy.zz.tar

  8. Entrar en /usr/src/linux: cd /usr/src/linux
  9. Configurar el núcleo, esto se puede hacer de tres maneras diferentes:

    • make config (modo texto)

    • make menuconfig (modo texto con menus)

    • make xconfig (XWindow version)


    Si teneis XWindow instalado, os recomiendo el último comando, si no, el segundo. Os recomiendo que las opciones que vienen por defecto no las toqueis si no sabeis lo que haceis, podeis pulsar Help en cada opción para obtener una descripción de la misma. Configurar las opciones que querais tener en vuestro nuevo núcleo. Una vez terminada la configuración, grabar los cambios y salir del programa de configuración.
  10. Una vez terminado el proceso de configuración, tenemos que compilar nuestro nuevo núcleo. Para ello hay que hacer lo siguiente:
    make dep
    make clean
    make bzImage
  11. Si en el proceso de configuración, elegimos alguna opción como módulo, tendremos que compilar/instalar dichos módulos:
    make modules
    make modules_install

    NOTA: No olvidar ejecutar como root el comando depmod -a la primera vez que arranqueis con vuestro nuevo núcleo, para computar las dependencias entre módulos.

  12. Ya tenemos el núcleo y los módulos compilados, ahora tenemos que instalarlo. Casi todo el mundo utiliza LILO para arrancar el sistema, por ello explicaré como instalarlo utilizando LILO.

    Todavia estamos en /usr/src/linux , ejecutar el comando make install , esto copiará el núcleo que acabamos de crear, a el directorio /boot de nuestro sistema, con el nombre vmlinuz, o como un enlace simbóolico vmlinuz -> vmlinuz-xx.yy.zz

  13. Ahora tenemos que configurar LILO para que reconozca el nuevo núcleo. Tendremos que modificar el fichero /etc/lilo.conf. Aquí teneis un ejemplo, del fichero /etc/lilo.conf antes de modificarlo:

    boot=/dev/hda
    prompt
    timeout=50
    image=/boot/vmlinuz-2.0.34
    label=linux
    root=/dev/hda1
    read-only

    Y aqui como quedaría despues de la modificación, para que reconozca nuestro nuevo núcleo al arrancar:

    boot=/dev/hda
    prompt
    timeout=50
    image=/boot/vmlinuz
    label=nuevokernel
    root=/dev/hda1
    read-only
    image=/boot/vmlinuz-2.0.34
    label=linux
    root=/dev/hda1
    read-only


  14. Ahora solo tenemos que ejecutar el comando /sbin/lilo y arrancar el sistema de nuevo. Si tuviesemos algún problema con el nuevo núcleo, siempre podriamos arrancar con el antiguo escribiendo linux y pulsando ENTER cuando arrancamos y nos sale en pantalla lilo: De esta manera podemos entrar y ver que es lo que ha fallado.

    NOTA: Recordar que existen multitud de opciones para configurar LILO, y que los ejemplos anteriores, son ejemplos. Puede que vuestro sistema necesite diferentes parámetros y opciones. Leeros los documentos HOWTOS sobre el núcleo y LILO antes de cambiar nada en vuestro sistema. Al final de esta sección teneis enlaces a los mismos. Suerte y espero que tengais las cosas un poco mas claras.