Compilar el kernel 2.4 o 2.6 en debian

Éste artículo pretende ser una revisión del ya publicado anteriormente: Compilar el kernel en Debian, con algunos añadidos, como la compilación e instalación de kernels 2.6, así como otros aspectos solicitados como la configuración de grub.

El artículo se divide en dos partes, una para la instalación de kernels 2.4 y otra para los 2.6, así podeis seguir fácilmente el caso que queráis compilar.

Los pasos están orientados a la compilación del kernel bajo Debian, aunque es fácilmente aplicable a cualquier otra distribución.

Espero que quede suficientemente claro, sino hacédmelo saber.

  • Kernel 2.4.x en Debian

    Primero necesitamos descargar el source del kernel, lo descargamos con wget, lo instalaremos con apt.

    Aida:/# apt-get update
    Aida:/# apt-get install wget
    Aida:/# cd /usr/src
    Aida:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.bz2


    Descomprimimos los sources.

    Aida:/usr/src# apt-get install bzip2
    Aida:/usr/src# tar jxvf linux-2.4.28.tar.bz2


    Creamos un link simbólico.

    Aida:/usr/src# ln -s linux-2.4.28 linux


    OPCIONAL: Parchear el kernel con soporte encriptación MPPE 128bit y compresión MPPC VPN Server

    Aida:/usr/src# wget -c http://www.polbox.com/h/hs001/linux-2.4.28-mppe-mppc-1.2.patch.gz
    Aida:/usr/src# cd linux
    Aida:/usr/src/linux# apt-get install patch
    Aida:/usr/src/linux# zcat ../linux-2.4.28-mppe-mppc-1.2.patch.gz | patch –p0


    Configuramos el kernel para adaptarlo a nuestro hardware.

    Aida:/usr/src/linux# apt-get install libncurses5-dev
    Aida:/usr/src/linux# make clean mrproper
    Aida:/usr/src/linux# make menuconfig


    Una vez configurado el kernel , compilamos la imagen del kernel Linux y los módulos.

    Aida:/usr/src/linux# apt-get install gcc make
    Aida:/usr/src/linux# make dep
    Aida:/usr/src/linux# make bzImage
    Aida:/usr/src/linux# make modules


    Instalamos los modulos, copiamos la imagen del kernel al /boot.

    Aida:/usr/src/linux# make modules_install
    Aida:/usr/src/linux# cp arch/i386/boot/bzImage /boot/2.4.28.img


    Creamos la imagen del initrd.

    Aida:/usr/src/linux# apt-get install mkinitrd-tools
    Aida:/usr/src/linux# mkinitrd –o /boot/initrd.2.4.28.img /lib/modules/2.4.28


    Opción A: Gestor de arranque Lilo

    Editamos el lilo.conf y añadimos la nueva imagen de nuestro kernel.

    Aida:/usr/src/linux# nano -w /etc/lilo.conf

    image=/boot/2.4.28.img
    label=2.4.28
    read-only
    initrd=/boot/initrd.2.4.28.img



    Cargamos la nueva configuración del lilo.

    Aida:/usr/src/linux# lilo -v


    Opción B: Gestor de arranque Grub

    Editamos el archivo de configuración del grub y añadimos la nueva imagen de nuestro kernel.

    Aida:/usr/src/linux# nano -w /boot/grub/menu.lst


    title Debian GNU/Linux, kernel 2.4.28
    root (hd0,1)
    kernel /boot/2.4.28.img root=/dev/hda1 ro
    initrd /boot/initrd.2.4.28.img
    savedefault
    boot




  • Kernel 2.6.x en Debian.

    Primero necesitamos descargar el source del kernel, lo descargamos con wget, lo instalaremos con apt.

    Aida:/# apt-get update
    Aida:/# apt-get install wget
    Aida:/# cd /usr/src
    Aida:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.11.tar.bz2


    Descomprimimos los sources.

    Aida:/usr/src# apt-get install bzip2
    Aida:/usr/src# tar jxvf linux-2.6.11.11.tar.bz2


    Creamos un link simbólico.

    Aida:/usr/src# ln -s linux-2.6.11.11 linux


    OPCIONAL: Parchear el kernel con soporte encriptación MPPE 128bit y compresión MPPC VPN Server


    Aida:/usr/src# wget -c http://www.polbox.com/h/hs001/linux-2.6.11-mppe-mppc-1.3.patch.gz
    Aida:/usr/src# cd linux
    Aida:/usr/src/linux# apt-get install patch
    Aida:/usr/src/linux# zcat ../linux-2.6.11-mppe-mppc-1.3.patch.gz | patch –p0


    Configuramos el kernel para adaptarlo a nuestro hardware.

    Aida:/usr/src/linux# apt-get install libncurses5-dev
    Aida:/usr/src/linux# make clean mrproper
    Aida:/usr/src/linux# make menuconfig


    Una vez configurado el kernel , compilamos la imagen del kernel Linux y los módulos.

    Aida:/usr/src/linux# apt-get install gcc make
    Aida:/usr/src/linux# make dep
    Aida:/usr/src/linux# make bzImage
    Aida:/usr/src/linux# make modules


    Instalamos los modulos, copiamos la imagen del kernel al /boot.

    Aida:/usr/src/linux# make modules_install
    Aida:/usr/src/linux# cp arch/i386/boot/bzImage /boot/2.6.11.img


    Creamos la imagen del initrd.

    Aida:/usr/src/linux# apt-get install mkinitrd-tools
    Aida:/usr/src/linux# mkinitrd –o /boot/initrd.2.6.11.img /lib/modules/2.6.11



    Opción A: Gestor de arranque Lilo

    Editamos el lilo.conf

    Aida:/usr/src/linux# vi /etc/lilo.conf

    image=/boot/2.6.11.img
    label=2.4.20
    read-only
    initrd=/boot/initrd.2.6.11.img



    Cargamos la nueva configuración del lilo.

    Aida:/usr/src/linux# lilo -v


    Opción B: Gestor de arranque Grub


    Editamos el archivo de configuración del grub y añadimos la nueva imagen de nuestro kernel.

    Aida:/usr/src/linux# nano -w /boot/grub/menu.lst


    title Debian GNU/Linux, kernel 2.6.11
    root (hd0,1)
    kernel /boot/2.6.11.img root=/dev/hda1 ro
    initrd /boot/initrd.2.6.11.img
    savedefault
    boot



Ahora solo queda saber si el nucleo funciona correctamente, en caso de fallo revisar la configuración del kernel.

Si hay algún problema con estos pasos o no os compila bien y no sabéis por qué, podeis dejar un comentario con vuestras preguntas.

Saludos,
Fran.




 


Trackback

Trackback URL for this entry:
/trackback.php/20050610160019531

No trackback comments for this entry.

Comments

Post a comment

si fueras tan amable... podras darme detalles de que utilidad tiene y como se usa esto?:

encriptación MPPE 128bit y compresión MPPC VPN Server

Anonymous on Wednesday, September 07 2005 @ 07:32 AM CEST Reply | #

Es un parche para el kernel para que soporte encriptación MPPE tu servidor VPN.
Quizas más adelante pueda hacer un manual de como instalar un servidor VPN.

Anonymous on Thursday, September 15 2005 @ 11:35 PM CEST Reply | #

Tremendo turorial, en mi vida habia compilado un kernel y de esta manera funciona maravillosamente.

Anonymous on Saturday, August 12 2006 @ 03:27 PM CEST Reply | #

El tutorial me parece magnífico y me está sirviendo de gran ayuda. Por favor, podrías decirme si podría aplicarlo para actualizar un kernel antiguo, concretamente el 2.0.29. También me gustaría saber a qué paquete Debian corresponde el mencionado "mkinitrd-tools".
Muchas gracias.

Anonymous on Wednesday, November 22 2006 @ 12:17 AM CET Reply | #

Search



About

newton.gra2.com is a blog about technology, opinion and random thoughts written by Daniel Alvarez, a computer engineer currently living in Zurich, Switzerland.

Topics

User Functions

:

:


Lost your password?

Latest posts

Stories last 24 hours

No new stories

Comments last 2 days

No new comments

Trackbacks last 2 days

No new trackback comments

Links last 2 weeks

No recent new links