martes, noviembre 14, 2006

Compilacion del Kernel

Compilacion del Kernel


El proximo es un tutorial acerca de como compilar el kernel linux....

A la hora de actualizar el kernel siempre esta la pregunta de si instalar los binarios
o compilar e instalar las fuentes.. es evidente cual es la mejor opción (sip.. las fuentes).

Compilando las fuentes puedes tener un kernel optimizado para
tu maquina, y mejor soporte para tu hardware.

Asi que intentare explicar los pasos basicos para la compilacion de un kernel.

Empecemos con descargar el tarball...

http://kernel.org

kernel.org contiene tanto los parches como la fuente completa del kernel a descargar,
entre otras utilidades relacionadas con el kernel.Ya descargado, lo descomprimes
en /usr/src/ , o algun otro directorio sin permisos especiales de administrador.

Nota: como ves no hace falta ser _root_ para compilar el kernel, asi que
para que hacerlo como root?

Ya estando en el directorio de las fuentes edita el Makefile (esto no es necesario) pero es
lo recomendado para evitar que el nombre del directorio que contiene tus modulos en
/lib/module sea sobrescrito :)

Solo colocale un nombre a tu kernel en la opcion EXTRAVERSION

EXTRAVERSION =

Ahora , la mejor parte.. configura tu kernel corriendo alguna de las siguientes opciones:

- make config
algo bastante tradicional usando solo shell.. recomendado si tienes
un sistema configurado con lo minimo.

- make menuconfig
emplea las librerias ncurses (libncurses5-dev)

- make xconfig
es el metodo que permite realizar la configuracion de la forma
mas comoda usando las X, requiere tk en 2.4 y libqt en 2.6.

make oldconfig se usa para fijar los mismos valores de tu kernel anterior,
recomiendo NO usar make oldconfig cuando estas actualizando desde muy distintas
versiones.

Configura tu kernel, agrega las opciones de tu hardware, en general, asegurate de incluir
soporte para tus unidades de disco (IDE/SCSI), para tu tipo de sistema de archivos (ext2,ext3,
reiserfs, etc..), entre otras cosas.
Puedes elegir entre crear el soporte como modulo (que puedes cargar y descargar
cuando quieras) o compilado en el kernel.

No iremos por cada una de las preguntas aqui, seria algo demasiado
largo, e innecesario, el proceso de instalacion tiene la mejor ayuda que puedas
conseguir para saber cada uno de los detalles de las opciones.

Luego haz un:

make dep

Make dep se encarga de resolver y fijar dependencias, solo es necesario correrlo una vez.

Construye el kernel:

make bzImage

Luego de este paso sera creada la imagen del kernel con el nombre bzImage en el
directorio arch/i386/boot/ , copialo hacia la particion o directorio de booteo, se podria
decir que esa es la instalacion :)

Crea los modulos:

make modules

Instala los modulos:

make modules_install

Nota: Cuando se actualiza del 2.4.x al 2.6.x se suele tener varios errores en la instalacion
de los modulos, deben instalar module-init-tools, se encuentra tambien en kernel.org.

Estos se instalaran en /lib/modules/ .. el parametro que fijamos en el Makefile :) ,
esto lo hace facil para tener varios kernels en tu maquina.

Luego agrega tu kernel en el menu o archivo de configuracion
de tu booteador, uso grub, asi que dare un ejemplo de mi /boot/grub/menu.lst:

root (hd0,0)
kernel /boot/bzImage root=/dev/hda1

Solo dos lineas...

"info grub" "man lilo" para ver mas posibles parametros que necesites pasar
a tu bootloader.

Rebootea y Listo!!!!

Esta es la parte donde deberia de correr tu kernel :)

NOta: para el 2.6 no es necesario hacer make dep, y necesitas module-init-tools para
cargar los modulos.


No hay comentarios.: