Hola,

Hace muuuuuuucho tiempo que no compilo un kernel, pero te adjunto un 
"howto" propio que generé en esos tiempos.

Está basado en Kernel 2.4, pero imagino que las cosas no han cambiado 
tanto, espero te sirva.

Saludos,


Diego Rivero wrote:

>queridos amigos de la lista si ahi alguien que tenga un howto de
>compilacion de kernel que me pueda facilitar hasta ahora he visto
>muchas cosas que no funcionan bien, todo los howto que vi ponen la
>compilacion de kernel como si fuera una cosa asi nomas y todos sabemos
>que no es asi, si alguien tien una buena doc se lo agradeceria de
>corazon simpre me tia kernel panic estoy como loco saludos espero una
>pornta res puesta
>
>
>  
>
------------ próxima parte ------------
Compilación y actualización de nuevos Kernel y patches ....

a) Bajar Kernel y patches que se desean actualizar, en este caso:
   ( Se pueden bajar de la dirección: http://kernel.org/ )
        linux-2.4.17.tar.gz
        patch-2.4.18-pre2
        patch-2.4.18-pre3

b) Cambiar nombre al patch para dejarlo con extensión de comprimido
        mv patch-2.4.18-pre2{,gz}
        mv patch-2.4.18-pre3{,gz}

c) Descomprimir el Kernel y el patch
        tar zxvf linux-2.4.17.tar.gz
        gunzip patch-2.4.18-pre2.gz
        gunzip patch-2.4.18-pre3.gz

d) Actualizar los patch en el kernel "pre2"
        patch -p0 < patch-2.4.18-pre2

e) Desactualizar los patch "pre2" en el kernel y actualizar "pre3"
        patch -R -p0 < patch-2.4.18-pre2
        patch -p0 < patch-2.4.18-pre3

f) Cambiar el nombre del directorio que se crea de "linux" a
   "linux-2.4.18" ( linux-{version} ) y moverlo a /usr/src
        mv linux linux-2.4.18
        mv linux-2.4.18 /usr/src

g) Opcionalmente, generar un nuevo link simbólico de linux a el
   directorio que se acaba de mover. Si ya existe un directorio
   o link llamado "linux", debe borrarse primero.
        ln -s linux-2.4.18 linux

h) Copiar archivo con la configuración para usarlo de base.
        cp /usr/src/linux-2.2.16/configs/kernel-2.2.16-i686.config .

i) Abrir configuración del kernel y hacer "load" del archivo de
   configuración copiado.  A partir de él hacer las modificaciones
   deseadas y/o necesarias.
        make xconfig

j) Seguir con los otros pasos de la compilación e instalación.
   (Verificar que cada paso termine sin errores, antes de ejecutar
    el siguiente).
        make dep
        make clean  (Si ya se ha instalado anteriormente)
        make bzImage
        make modules
        make modules_install

    Nota: si se está seguro, se pueden colocar todas en una sola
          orden:  make dep clean bzImage modules modules_install

k) Copiar kernel compilado y comprimido a su ubicación.
        cp arch/i386/boot/bzImage /boot/kernel-2.4.18{-pre3}.bz

l) Generación del RAMdisk para el booteo
        mkinitrd /boot/initrd-2.4.18{-pre3}.img 2.4.18{-}{pre3} 
(/lib/modules/2.4.)

m) Modificar /etc/lilo.conf, agregando nuevo punto de booteo.
        image = /boot/kernel-2.4.18{-pre3}.bz
        label = linux-2.4.18{-p3}
        root = /dev/hda

n) Se actualiza lilo
        /sbin/lilo

o) reboot !!!!!!!
        ????

p) Para eliminar la versión de Kernel "2.4.18-pre2" que ya no se ocupará,
   se deben borrar los siguientes archivos
        rm /boot/kernel-2.4.18-pre2.bz
        rm /boot/initrd-2.4.18-pre2.img
        rm -R /lib/modules/2.4.18pre2


Notas:
        En caso de querer disponer de varias configuraciones experimentales
        a partir de un módulo de Kernel, pudiendo "bootear" de ellas de
        manera independiente, se debe modificar el archivo "Makefile" que se
        encuentra en el dorectorio desde donde se compila el Kernel, agregando
        a la variable "EXTRAVERSION =" el nombre deseado,
        Ej. EXTRAVERSION = db1


Responder a