Bueno, como todos vosotros sabéis, desde que una nueva versión de Android es liberada por Google hasta que los fabricantes la adoptan suele pasar un tiempo (y no quiero señalar a nadie Sony Ericsson, HTC). Normalmente los que hemos anulado garantía y rooteado y cambiado nuestros recovery para poder instalar ROM personalizadas de desarrolladores independientes (o cocineros si preferís) tenemos el lujo de disfrutar bastante tiempo antes de las nuevas características de las versiones. No deja de resultar curioso que equipos de aficionados puedan (y lo demuestren con hechos) preparar una ROM antes de que lo hagan los equipos profesionales de las empresas, pero eso es algo de lo que ya hemos hablado otras veces, y que no viene al caso ahora.
Como sabéis, en El Androide Libre tenemos una curiosidad insaciable y ausencia de noticas hasta que llegue el MWC, así que hemos decidido hablar con unos cuantos cocineros y preguntarles sobre la experiencia de crear una ROM, el proceso, los pasos necesarios y si estaban dispuestos a pagarnos mucha pasta por probar las suyas (y casi conseguimos que cuele esto último).
Además, como homenaje a todos los cocineros, y a esa parte del plantel de EAL que disfruta también de sus cocinas, hemos decidido adaptar un poco el artículo para presentároslo como una receta.
Ingredientes
-Drivers variados (cuanto más frescos mejor). Si tu tendero no te los da frescos, puedes intentar cultivarlos en una maceta en casa, pero es complicado. Si no, puedes utilizar algunos que no estén frescos y especiarlos un poco para que sepan a lo que necesitas (sabor Bluetooth, WiFi, cámara, GPS).
-Versión estable del kernel (suele venir con el código fuente).
Utensilios de cocina necesarios
-Olla de 64 bits si vas a usar pan de jengibre (para los sabores menos propios de esta época puedes usar una de 32 bits).
-Un ADB de los nuevos que fabrican ahora (necesitarás logcat y dmesg), de esos que llaman actualizados.
Cocinando
Una vez que disponemos de los ingredientes y utensilios de cocina, lo único que tenemos que hacer es enfundarnos nuestro delantal favorito, lavarnos las manos ¡y a trabajar!
Lo primero de todo, cuando arranquemos el fogón, es un primer hervor de todo junto, para poder empezar a ver qué sabores casan mejor con otros. Tras esto deberemos trabajar con los drivers variados, si ya lo hemos hecho antes, pues gran parte del trabajo será igual, sólo que aplicado a nuestra receta. Simplemente tenemos que adaptarlos al sabor que queremos que tenga, porque no todo lo que iba bien con sabores como, por ejemplo, el yogur helado, tiene por qué irle bien al pan de jengibre. Es conveniente que comprobemos que casan bien los sabores del kernel y los drivers, pues es posible que no termine de quedar bien con sabor a ciertos dispositivos, como la cámara o el GPS, y simplemente nuestra receta salga mal, cuidado con esto. Si ya lo hemos hechos alguna vez, y estamos familiarizados con estas recetas, será todo mucho más fácil.
nuestros drivers y sofreírlos con el kernel para que cojan sabor mutuamente. En éste proceso, depende mucho el tiempo que tardemos de si disponemos o no de algún pinche. Antes de sofreír todo junto, tenemos que preparar los drivers, y si tenemos un pinche para cada cosa tardaremos mucho menos en prepararlo para nuestro kernel. Por ejemplo en la cocina del restaurante CyanogenMod suelen tardar muy poco en preparar éste plato.
Con los drivers más o menos cocidos para el kernel, cogemos el código fuente y lo echamos todo junto en la olla de 64 bits, entonces lo ponemos a cocer hasta que rompa a compilar, y si no se nos cortara (a veces nos encontraremos warning o errores y tocará volver a cocerlo todo) podríamos probar el plato. No obstante, éste plato hay que cocinarlo en varios pasos, es recomendable tener algunos catadores que sepan mucho de cocinar, al menos antes de sacarlo al salón para que lo prueben todos los comensales.
Agradecimientos
El proceso de “cocinar” una ROM incluye revisar los drivers para que funcionen con nuestro kernel, compilar, probar, retocar, recompilar y demás, y espero que entendáis más o menos la receta, aunque estoy abierto a críticas en los comentarios como siempre. Confío en que os guste mi receta, la próxima vez cocinaré algo más serio.
Por último, antes de terminar, quiero dar las gracias a Behnam Fakhimi, colaborador del proyecto CyanogenMod y a Ricardo (RMCC) principal desarrollador del programa CCR para Geeksphone.
As a last remark, I want to thank Behnam Fakhimi, contributor of the CyanogenMod project and to Ricardo (RMCC), main developer of the CCR program for Geeksphone.