Bueno... primero que todo debemos cumplir con unos requisitos los cuales son los siguientes:
Requisitos:
- Sistema operativo basado en linux (recomendado ubuntu)
- Entorno para compilar inicializado
- Mínimo 2GB de RAM disponibles
- Source code de un kernel de nuestro dispositivo
- Toolchain
Una vez hecho esto, podremos comenzar.
1. Preparar Entorno de Trabajo
Primero de todo, procedemos a buscar un source de un kernel para nuestro dispositivo, para ello lo mas fácil es ir a GitHub y poner en la barra de búsqueda el nombre clave de nuestro dispositivo (codename, por ejemplo en mi caso, loganreltexx), para que entiendas mejor esto te invito a visitar una de las entradas del blog en las cuales definimos muchos términos que podrían confundirte.
Una vez lo hayas encontrado, será algo muy parecido a esto:
Luego de hallar un repositorio adecuado vamos a descargarlo como zip y lo descomprimimos en la ruta de nuestra preferencia.
Una vez lo hayamos descargado y situado en una carpeta, pasaremos al siguiente paso.
2. Inicializar Toolchain
En este paso lo que haremos será buscar una toolchain, la cual es la herramienta que usaremos para compilar nuestro kernel. Sabiendo esto les dejare estos link en los cuales podrán bajar varias toolchain para compilar:
Una vez elegida la más adecuada para ti, la descargamos como zip y descomprimimos en ruta de preferencia, como hemos hecho anteriormente con el código fuente del kernel. Con ello, habremos terminado este paso.
3. Compilar Kernel
Sí, ya estamos en el último paso, es un tutorial corto ya que el proceso es relativamente sencillo. Ahora será el momento de abrir el Terminal (Ctrl+T), y vamos a movernos hasta la ruta de trabajo que hayamos elegido.
*Kernel lo cambias por el nombre que hayas elegido para tu carpeta. Eso sí, recomiendo siempre crearla en el directorio home como hemos hecho siempre*
Una vez situados en la carpeta de trabajo, vamos a ejecutar varios comandos para que el kernel se compile con la toolchain que acabamos de descargar. Por ejemplo, si descomprimí la toolchain en una carpeta llamada "toolchain" en el directorio "home", debería de colocar lo siguiente:
Y a continuación:
Luego buscaremos en la source del kernel un archivo llamado "defconfig". Este lo podremos encontrar la mayoría de veces en la ruta sourcekernel/arch/arm/configs/codename_defconfig.
Por ejemplo, en mi caso estaría en kernel/arch/arm/configs/loganreltexx_defconfig.
Una vez localizado escribiremos lo siguiente en Terminal:
Nuevamente reemplazamos "codename" con el de nuestro dispositivo. Por ejemplo, en mi caso sería "make loganreltexx_defconfig"
Como nota, podemos añadir la coletilla "-j#" al final de la línea y, como ya sabemos, la almohadilla la reemplazamos por el número de núcleos de nuestro PC +1.
¡Listo! Ya Has Compilado un Kernel Desde Source
Espero que os haya sido útil esta guía y como siempre, cualquier duda en comentarios.
CRÉDITOS:
- Luis Castillo
- Android Spanish Developers