Como compilar el kernel Linux en openSUSE

Cada distribucion posee algunas herramientas especificas para construir el kernel desde las fuentes. En este articulo voy a explicar como compilar Linux desde un sistema openSuSE. Se describe como construir un kernel personalizado a partir de las fuentes desde http://www.kernel.org (vanilla kernel) de manera de ser independiente del kernel proporcionado por la distribucion.

Esto es probado en openSUSE 11.3 “Teal” x86_64.

Antes que nada voy a decir que no es la unica manera de hacerlo, pero si es la que yo voy a usar y no aseguro que funcione para todos.

  1. Nota preliminar
  2. La idea aca es contruir un paquete rpm con el kernel que pueda ser instalado en cualquier sistema openSUSE, lo cual es una gran ventaja comparada con el metodo “tradicional” en el que solo queda para el sistema en el que se compilo.

  3. Instalar los paquetes requeridos para compilar el kernel
  4. Debemos instalar el paquete ncurses-devel el cual es requerido por el comando make menuconfig que utilizaremos mas tarde:

    Code:
    sharwyn:~ # zypper in ncurses-devel
  5. Descargar las fuentes del kernel
  6. Ahora hay que descargar las fuentes del kernel al directorio /usr/src. Asi que vamos a www.kernel.org y seleccionamos el kernel a instalar, por ejemplo linux-2.6.35.4.tar.bz2

    Code:
    sharwyn:~ # cd /usr/src
    sharwyn:/usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.4.tar.bz2
    

    Una vez completada la descarga, desempaquetamos el codigo fuente y creamos un enlace simbolico a las fuentes:

    Code:
    sharwyn:/usr/src # tar xvfj linux-2.6.35.4.tar.bz2
    sharwyn:/usr/src # ln -s linux-2.6.35.4 linux
    sharwyn:/usr/src # cd /usr/src/linux
    
  7. Configuracion y compilacion del kernel
  8. Es una buena idea comenzar con la misma configuracion que tenemos en el kernel instalado actualmente, para esto ejecutaremos los siguientes comandos

    Code:
    sharwyn:/usr/src/linux # make mrproper
    sharwyn:/usr/src/linux # cp /boot/config-`uname -r` ./.config
    

    y luego comenzaremos la configuracion con el comando:

    Code:
    sharwyn:/usr/src/linux # make menuconfig
    

    aca hay que ir entre todas las opciones y es diferente para cada PC, asi que no voy a decir que cambiar, es deber de cada uno probar, una vez terminada la configuracion salimos guardando la configuracion e iniciamos la compilacion y creacion del paquete rpm con el comando:

    Code:
    sharwyn:/usr/src/linux # make rpm
    

    En este punto recomiendo ir por algo para tomar dado que demora un poco

  9. Instalacion del kernel
  10. El paquete rpm creado podra encontrarse en /usr/src/packages/RPMS/X donde X corresponde con la arquitectura del sisstema usado para compilar, en mi caso es /usr/src/packages/RPMS/x86_64, para instalarlo ejecutamos los comandos:

    Code:
    sharwyn:/usr/src/linux # cd /usr/src/packages/RPMS/x86_64
    sharwyn:/usr/src/packages/RPMS/x86_64 # rpm -ivh kernel-2.6.35.4default-vampird.x86_64.rpm
    

    Ahora hay que crear la imagen del kernel para poder iniciarlo, para esto utilizamos el comando:

    Code:
    sharwyn:/usr/src/packages/RPMS/x86_64 # mkinitrd

    este comando genera la imagen correspondiente para todos los kernel instalados en el sistema

    Una vez completado este paso solo resta crear la entrada en grub para poder iniciar el kernel recien compilado, para esto editamos el archivo /boot/grub/menu.lst y creamos una entrada similar a la siguiente

    Code:
    title Desktop -- openSUSE 11.3 - 2.6.35.4 VampirD
        root (hd0,0)    kernel /boot/vmlinuz-2.6.35.4-default-vampird root=/dev/sda1 resume=/dev/sda2 splash=silent quiet showopts vga=0x317
        initrd /boot/initrd-2.6.35.4-default-vampird
    

=-=-=-=-=
Powered by Blogilo

Anuncios

3 comentarios to “Como compilar el kernel Linux en openSUSE”

  1. Krafty Says:

    Muy buena info.
    No se podría agregar algo mas de info para la parte de configuración con menuconfig???

    Saludos

    • vampird Says:

      El fin de semana veo si agrego algo mas de eso, el problema es que varia mucho entre una PC y otra debido a las diferencias de hardware, y sobretodo si varian los procesadores entre intel y amd

  2. irvito Says:

    Reblogged this on irviblog.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: