compilacion kernel 2.6.xx

Muad'Dib muaddib en interaccess.cl
Lun Feb 14 18:44:57 CLST 2005


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





Más información sobre la lista de distribución Linux