Compilando tu propio Kernel serie 2.6
Compilar nuestro propio kernel nos puede traer bastantes ventajas, y no es necesario esperar a que aparezca una versión precompilada.
Procedo al mini-howto partiendo de la configuración de nuestro kernel previo, siempre podemos configurarlo a nuestro gusto y a nuestras necesidades pero no es el cometido de este manual.
Descargamos el codigo completo de la versión del kernel a compilar, en este caso 2.6.24, y lo descomprimimos.wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
tar xvf linux-2.6.24.tar.bz2
Pasamos nuestra la carpeta del codigo fuente del kernel a /usr/srcmv linux-2.6.24 /usr/src/linux-2.6.24
Vamos hasta el directorio y copiamos la configuración de nuestro kernel previo (2.6.23.8 en mi caso)cd /usr/src
cp linux-2.6.23.8/.config /usr/src/linux-2.6.24
cd linux-2.6.24
Ahora podemos comprobar los modulos que se cargarán en el kernel, y marcar o desmarcar los que se nos antoje mediante make menuconfig
o make xconfig
.
y despues compilamos el código e instalamos los modulosmake && make modules && make modules_install
Copiamos la imagen del kernel a nuestro directorio /boot y preparamos una nueva entrada en el lilo.conf para arrancar con él.cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.24
Añadimos al /etc/lilo.confimage = /boot/vmlinuz-2.6.24
root = /dev/sda2 #La particion que corresponda
label = 2.6.24
read-only
Reescribimos el mbr/sbin/lilo -v
Y al reiniciar tendremos disponible nuestra nueva entrada para cargar el nuevo kernel.
4 comentarios:
En este contexto el comando make equivale a hacer makebzimage (compilar el kernel) y make modules (compilar los módulos).
Saludos.
Debe ser:
cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.24
Además falto copiar el System.map y el .config
cp System.map /boot/System.map-2.6.24
cp .config /boot/config-2.6.24
Saludos
No es necesario copiar el Systemap y el config. El primero contiene un conjunto de símbolos que representan diferentes direcciones de memoria; por ello, solo es útil cuando se desea interpretar el volcado del kernel. El segundo, es solo un fichero que puedes usar como base para compilar nuevos núcleos.
En cuando a donde se aloja el bzimage, solo decir que en los kernels que me toco compilar siempre hubo una copia en "..arch/i386..", pero es posible que esto haya cambiado desde la versión 2.6.24.
Saludos.
Reunificación de las fuentes de x86-32 y x86-64: Ya no hay arch/i386 y arch/x86_64, hay un solo directorio arch/x86 (aunque se conservan algunos enlaces simbólicos en los directorios antiguos, por compatibilidad).
Publicar un comentario