PDA

Ver la Versión Completa : [ TUTORIAL ] Acelerar compilación de una ROM [CCACHE]


David_Vaz
21/05/14, 19:02:49
Hoy vamos a ver como acelerar la compilación de una ROM desde código fuente... este tutorial sólo interesará a los cocineros (o usuarios que compilen ROMs)... si no compilas ROMs, puedes salir del tutorial.

Esto lo que hará será reducir el tiempo de compilación en un 40 - 50% (compilará todo lo relacionado con C/C+ más rápido)

Aviso: esta "aceleración" dependerá también de un espacio adicional de 1GB (al menos en mi caso es lo que me ocupa la carpeta .ccache)
Es recomendable borrar todo el contenido de la carpeta para iniciar una nueva compilación (si no el código se irá acumulando y en vez de ser 1GB serán 2, 3, 4, 5...)

¿Qué necesitamos?


Código fuente de la ROM a compilar descargado


¿Qué pasos debo seguir?

* Entrar al directorio donde tenemos alojado el código, en mi caso la carpeta se llama MinimalUI, por lo tanto:

cd MinimalUI

* Entrar a la carpeta "build":

cd build

* Hacer git fetch del repositorio para hacer cherry-pick:

git fetch https://github.com/MinimalUI/android_build

* Hacer cherry-pick:

git cherry-pick a61c24389029769393a7ad0c2a233dcfab0d7b72

* Instalar paquete necesario para que funcione:

sudo apt-get install ccache

* Volver a la carpeta "MinimalUI":

cd ..

* Configurar ruta ccache:

export CCACHE_DIR=/home/TU-USUARIO/.ccache

* Configurar espacio ccache:

prebuilts/misc/linux-x86/ccache/ccache -M 100G

* Comprobamos que se ha activado y funciona con este otro comando:

watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s

* Añadimos la orden de que se active después de cada inicio/reinicio de nuestro PC:

cd

gedit .bashrc

* Cuando se abra gedit, vamos abajo del todo y añadimos estas dos líneas:

export USE_CCACHE=1
export CCACHE_DIR=/home/TU-USUARIO/.ccache

Hemos acabado, podemos comenzar a compilar... :ok:

kisler
21/05/14, 19:05:49
Gracias David, pero creo que debes de indicar que esto necesita un espacio en el disco duro adicional para quien no lo sepa.

alexmarzo81
21/05/14, 19:09:12
Tomando nota gracias

David_Vaz
21/05/14, 19:19:07
Avisado.. igualmente, aún debo acabar de pulir el tutorial.

A mi sin CCACHE me tarda 5/6 horas en compilar... con CCACHE se me ha reducido a 2/3.

kisler
21/05/14, 19:25:15
Avisado.. igualmente, aún debo acabar de pulir el tutorial.

A mi sin CCACHE me tarda 5/6 horas en compilar... con CCACHE se me ha reducido a 2/3.

Si sirve de algo mi opinion y por si quieres probar yo cuando he compilado la primera vez desde 0 pues si tarda bastante (depende del pc) pero una vez compilado puedo ir añadiendo commit y apenas tarda 10/15 min en cada compilación dependiendo de la cantidad de commit añadidos.

David_Vaz
21/05/14, 19:57:23
Si sirve de algo mi opinion y por si quieres probar yo cuando he compilado la primera vez desde 0 pues si tarda bastante (depende del pc) pero una vez compilado puedo ir añadiendo commit y apenas tarda 10/15 min en cada compilación dependiendo de la cantidad de commit añadidos.

Sí, eso es verdad.. pero hay veces (al menos a mi me ha pasado) que cuando modificas mucho o cambias algo en build (ejemplo, borrar un idioma) te hace un make installclean y te manda todo el source a la shit... :( y con esto al menos ahorras dos o tres horas :D

victormondaza
22/05/14, 18:22:59
Una sola nota, con:
watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -spodemos comprobar que lo tenemos funcionando.

David_Vaz
22/05/14, 18:31:16
Gracias we, no conocía ese comando.

Actualizado.

JaJeJJ
22/05/14, 18:47:40
Gracias, maquina, necesitare esto cuando vaya a leer sobre el tema

Fransis
22/05/14, 23:25:28
Grande david!!!!! Chicos con esto cocino hasta yo!!!!

David_Vaz
23/05/14, 02:25:42
Actualizado añadiendo nueva orden para inicio automático del proceso.