22 oct. 2010

Compilando un kernel de Ubuntu en Arch

NOTA: TUTORIAL PARA USUARIOS AVANZADOS

Este es mi primer intento de compilar el kernel de Ubuntu el 2.6.35 RC6 en Arch para tratar de solucionar un problema de ACPI en Arch que me causa un calentamiento del computador por un mal funcionamiento del ventilador. Este es un tutorial avanzado asi que voy a dar por entendido que muchas cosas son evidentes. Solo daré los pasos críticos.

Lo primero es tener todas las herramientas listas para poder compilar para eso no hay problema porque en arch el paquete makepkg esta instalado en base por defecto.

Lo segundo es tener una copia del kernel que queremos usar, pueden buscar en internet Kernel sources y encontraran muchos kernels distintos para compilar, en mi caso estoy usando el de la pagina Launchpad de la distribución Ubuntu 10.10

Lo primero que voy a hacer es copiar el kernel a una carpeta nueva  que le ponde de nombre kernelubuntu, para simplificar comandos renombre el paquete del kernel a linux26


cp linux26.tar.bz2 ~/kernelubuntu/


Despues de hecho esto lo que hago es desempacar el kernel en la carpeta /kernelubuntu para ello puedo usar la terminal o de manera grafica con file-roller.

Ahora queda una carpeta con el nombre kernel26 en este paso tambien renombre la carpeta.

cd kernel26


Y listo es hora de arrancar a construir el kernel, el primer comando es el siguiente:
make mrproper


Este comando revisa que no exista nada corrupto en el arbol del kernel.
Ahora el siguiente paso es comenzar a configurar el kernel, este punto es bastante importante porque aqui es donde quiero revisar las diferencias entre el Kernel que uso en Arch y el que usa Ubuntu, para ello lo primero es buscar la configuración por defecto que tiene el Kernel de Arch, para ello copio el archivo .config del kernel que se encuentra en la carpeta /boot con el nombre del kernel y la terminacion .config Pero este paso no es necesario si lo que quieres es usar una configuracion pura de otra distro como es mi caso.

En mi caso use este: Descargar Que es para una arquitectura de 64 bits de un computador Dual Core de Intel que entonces por defecto ubuntu ya configuro con algunas características.

RECOMENDACIÓN: Para los que quieran ser un poco mas puristas es mejor usar el .config de su computador, para ello simplemente pueden utilizar el que esta por defecto en ARCH que se encuentra en la carpeta /boot, si no encuentran el .config en esta carpeta pueden buscar en /usr/src con el nombre del kernel y la terminacion .config


En mi caso lo que yo quiero es instalar el Kernel de Ubuntu con todas las caracteristicas del mismo entonces para ahorrarme el camello de ir paso a paso comparando lo que hice fue copiar el .config del kernel de Ubuntu de mi otro laptop.

TODOS ESTOS COMANDOS SE DEBEN EJECUTAR COMO ROOT

Una vez tenemos esto listo, vamos con lo critico.

make menuconfig

Al finalizar el comando anterior usamos este.

make clean

En este paso cargamos los modulos, aquí puede pasar que algunos modulos tengan nombres distintos en Ubuntu a los de Arch por eso este paso es bastante critico, en  mi caso ha funcionado bien pero me ha dejado sin sonido.

make modules



make modules_install


Estos ultimos dos comandos tomaran algo de tiempo, es importante tener algo de paciencia.

Al finalizar esto en la carpeta tendremos un paquete con el kernel listo, ahora debemos ponerlo en nuestro grub para ello lo copiamos a la carpeta /boot

Y corremos este comando con el nombre del kernel que hemos usado.

mkinitcpio -k linux26 -g /boot/linux26.img


Y listo ya solamente es editar el grub y podemos correr nuestro kernel.

No hay comentarios:

Publicar un comentario