Ver Mensaje Individual
  #1  
Viejo 15/07/14, 15:06:02
Array

[xs_avatar]
Josean94 Josean94 no está en línea
Official support TF | Dev
· Votos compra/venta: (2)
 
Fecha de registro: sep 2012
Localización: Perdido..
Mensajes: 1,204
Modelo de smartphone: Xiaomi Mi8SE
Tu operador: Lowi
Post Compila tu primer Kernel [EXPLICADO]

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:
Código:
"make -j*"
*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
__________________


Si quieres formar parte de la gran familia que somo Lowi, $$$$$$$$$$ y gana 5€ POR LA CARA!

Responder Con Cita
Gracias de parte de: