Antes de nada, aegurarse que teneis un distribucion de linux, que sea de 64Bits.
Yo personalmente recomiendo Ubuntu 12.04 o 13.04 y Linux Mint 15 o 14 version Mate.
Estos son los unicos requisitos prioritarios para este tutorial.
Claro esta que a cuanto mejor CPU y mas RAM tengamos mas rapido nos va a compilar.
Bueno empecemos.
Paso 1: Preparar el Terreno
Una vez instalado el S.O basado en Linux tenemos que instalar las siguientes librerias o herraminetas necesarias, por asi decirlo.
Código:
git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib
Para instalarlas es tan facil como:
-Abrimos un terminal
-Escribimos sudo apt-get install "librerias"
*Substituir "librerias" por las mecionadas anteriormente*
Una vez echo esto procedemos a lo siguiente.
Paso 2: Las Sources
Antes de nada debemos crear una carpeta para trabajar, para ello haremos lo siguiente:
-Abrimos un terminal
-Creamos una carpeta llamada android: mkdir android
-Entramos en ella: cd android
-Creamos una carpeta llamda kernel: mkdir kernel
-Entramos en ella: cd kernel
Una vez dentro, necesitaremos las toolchains para poder compilar, para ello ejecutamos en el terminal:
Código:
- git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains
Una vez echo esto, llego la hora de descargar las
sources de nuestro Móvil.
Para ello debemos buscarlas en el github correcto o descargarlas desde la pagina web de devs de la marca del móvil.
Aqui hos dejo unas de ellas:
-
HTC Dev
-
Samsung
-
Sony
-
LG
Una vez tengamos las sources de nuestro kernel continuamos.
Paso 3: Obtener el Config
Para poder compilar un kernel necesitamos un archivo llamado config, que es que configura los drivers, opciones, etc del kernel.
Para ello debemos hacer lo siguiente:
-Abrimos un terminal
-Nos vamos a la raiz de las sources: cd android/kernel/"tus_sources"
-Conectamos el telefono al ordenador con la depuracion usb activada y ejecutamos en el terminal: adb pull /proc/config.gz
-Ahora lo descomprimos: gunzip config.gz
-Y lo movemos al destino apropiado:
mv config arch/arm/configs/"tu_config_nombre"_defconfig
Una vez echo esto ya tendremos nuetras sources listas para compilar.
Paso 4: Compilando
Antes de nada tenemos que hacer el prebuild exportando las toolchains.
-Abrimos un terminal
-Nos vamos a la raiz de nuestras sources:
Código:
cd android/kernel/"tus_sources"
-Ejecutamos:
Código:
"export ARCH=arm"
-Ejecutamos:
Código:
"export CROSS_COMPILE=~/android/kernel/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-"
Una vez hecho, hay que decirle que configuracion debemos usar, para ello hacemos lo siguiente:
-En el terminal que tenemos abierto ejecutamos:
Código:
"make "TUCONFIGURACIONNOMBRE"_defconfig"
-Seguidamente ejecutamos:
*Substituimos * por el numero de nuecleos de nuestra CPU+1, ejemplo: yo compilo con un CPU de 4 nucleos, ejecuto make -j5
Para usuarios mas avanzados, despues de hacer "make "tu_config_nombre"_defconfig" , podemos ejecutar "make menuconfig" para agregar y/o quitar configuraciones del defconfig.
Una vez echo todo esto, solo deberemos esperar a que termine el proceso y obtendremos nuestro zImage.
Para volver a compilar solo tenis que ejecutar: "make clean"
Este paso os limpiara las sources de datos de otra compilacion.
Y volveis a repetir desde el principio del paso 4.
Esto es todo amigos espero que os haya gustado
Créditos:
Foro-Nexus
Asis_92
Josean94