2006-12-18

Compliar Kernel en debian sarge o Ubuntu dapper

Primero se requierre descargar los paquetes necesarios para compliar el kernel en debian sarge, o ubuntu dapper, para esto usaremos los siguientes paquetes que se instalaran con la herramineta apt-get, así:

localhost#uname -r
2.6.10-386 --> kernel usado en ese momento, donde dija
'uname -r' colocar esto
localhost#apt-get install kernel-package linux-source linux-headers-'uname -r'
localhost#apt-get install libqt3-headers libqt3-mt-dev

Aca bajamos las fuentes del kernel, cuando escribi esto, el paquete iba en el 2.6.10, pero deben buscar el actual.

Esto lo guardara el la carpeta /usr/src, asi que nos debemos desplazar a ella y descomprimir el paquete, de la siguiente manera:

localhost#cd /usr/src
[/usr/src]#tar -jxf linux-source-'uname -r'.tar.bz

Una vez descomprimida la carpeta necesitaremos los enlaces simbolicos para empaquetar todo lo necesario a ellos, de la siguiente manera:

[/usr/src]#ln -sf /usr/src/linux-source-'uname -r' linux

Ahora ahi que bajar las fuentes del kernel, de la pagina www.kernel.org, teniendo en cuenta que sea el archivo de configuracion tar.bz, en este momento era el 2.6.18, y el archivo se denomina linux-2.6.18.2.tar.bz, se debe bajar y descomprimir en /usr/src, de la siguiente manera

[/home/userc]#chown root.root linux-2.6.18.2.tar.bz
[/home/userc]#mv linux-2.6.18.2.tar.bz /usr/src
[/home/userc]#cd /usr/src
[/usr/src]#tar -xjf linux-2.6.18.2.tar.bz

Ahora realizamos el mismo enlace simbolico para agrupar todo lo necesario

[/usr/src]#ln -sf /usr/src/linux-2.6.18.2 linux

Ya tenemos todo lo necesario ahora si emprezaremos a compilar el kernel realmente, asi que es necesario que se conozca bien la maquina para desarrollar y optimizar la compilacion del kernel.

[/usr/src]#cd linux

con esto estamos dentro del enlace simbolico entonces bamos a crear el complador, así:

[/usr/src/linux]#cp /boot/config* .config #el* es para darle tabular y completar el paquete de linux

Ahora empezaremos a ejecutar los makes de la compilacion, iniciando con el empalme de la antigua configuraciona la nueva, para esto usamos:

[/usr/src/linux]#make oldconfig
[/usr/src/linux]#make
[/usr/src/linux]#make bzImage

Ahora empezaremos con los modulos del sistema, para esto usamos:

[/usr/src/linux]#make modules
[/usr/src/linux]#make modules_install
[/usr/src/linux]#make install

Finalmente realizaremos lo que es la compilacion en si, que es el echo de generar los paquetes .deb para su instalacion, para esto usamos:

[/usr/src/linux]#make-kpkg clean
[/usr/src/linux]#make-kpkg -initrd --revision=version --append-to-version=nombre kernel_image kernel_headres

version --> puede ser cualquier palabra sin guiones, se usa para diferenciar tu kernel
nombre-->es el nombre de tu kernel, el que le quieras colocar.

El paso final es la instalacion de los paquetes .deb, los cuales se denominaran mas o menos asi:

kernel-headers-2.8.10-nombre_vesion_i386.deb
kernel-image-2.8.10-nombre_vesion_i386.deb

Y se instalan asi:

[/usr/src/linux]#cd /usr/src
[/usr/src]#dpkg -i kernel-headers-2.8.10-nombre_vesion_i386.deb
[/usr/src]#dpkg -i kernel-image-2.8.10-nombre_vesion_i386.deb

Por ùltimo reviza el GRUB para ver el orden en el cual quedaron los kernel y que esten correctamente configurados.