Si has estado leyendo los artículos anteriores, ya debes estar bastante familiarizado con mucha de la terminología que se usa para hacer referencias a varios procesos avanzados que nos permiten manipular nuestros smartphones o tablets más allá de los limites que un fabricante, u operador imponen. Después de todo, si pagas por un dispositivo deberías poder hacer lo que te diese la gana con el, nadie te dice que no puedes cambiar las llantas o los asientos de tu auto, pero si nos dicen que podemos o no instalar en nuestros gadgets, mundo loco.

Ya hemos repasado todo sobre el bootloader, las particiones, el acceso root, y el recovery. Ahora pasamos directamente al sistema operativo y explicamos en detalle a que se refiere el término ROM, y de que estamos hablando exactamente cuando decimos que vamos a instalar una ROM cocinada o personalizada.

¿Qué son las ROMs Android?

Las siglas ROM se refieren a «Read Only Memory» lo que sería «memoria de solo lectura». La ROM aloja el sistema operativo y otros componentes del bluetooth o el WiFi. La ROM también está acompañada por la radio del dispositivo, algunos operadores ajustan la ROM para sus propias especificaciones de red, lo que hace que muchas veces no podamos usar un smartphone de un operador en la red de otro.

Una ROM es un archivo de imagen de solo lectura, usualmente el termino se utiliza para referirse a la imagen completa del sistema de un dispositivo. La ROM contiene archivos y código necesario para que el dispositivo arranque y pueda ejecutar Android.

La ROM también contiene una interfaz gráfica de usuario (GUI), las aplicaciones y sus archivos de soporte, y el kernel.

qué es una rom android

Partes de una ROM

  • El kernel: como es sabido por muchos, Android utiliza el kernel de Linux, ya que es uno de los ejemplos de software libre más grandes de la historia, su modelo abierto ha permitido que se porte a una multitud de hardware enorme, incluyendo los dispositivos con Android. El kernel es como una capa que conecta el hardware con el software, el kernel es algo así como el traductor que logra que las aplicaciones puedan entenderse con un dispositivo.

  • El sistema operativo: aquí es donde entra Android como tal, este sistema operativo es una interfaz de usuario construida para ejecutarse en una máquina virtual personalizada que utiliza Java, llamada Dalvik. Esta máquina virtual crea los archivos ejecutables necesarios para que Android los interprete y el usuario pueda ejecutarlos.

  • Funciones del nucleo: las funciones de nucleo del sistema operativo son aquellas necesarias para que el dispositivo funcione como debe ser, en Android estas funciones se ejecutan por encima del kernel como aplicaciones separadas: el teléfono, el calendario, la aplicación de mensajes, o incluso servicios que provee Google como Gmail, la Play Store o la sincronización.

¿Quien hace las ROMs?

Como ya dijimos, la ROM es básicamente el sistema operativo, así que la que trae tu dispositivo por defecto la «hace» el fabricante, Android es abierto y Google permite que cualquier fabricante de hardware lo utilice en sus dispositivos, cada fabricante usualmente añade sus propias capas de personalización en la GUI, y los operadores también añaden ajustes a la ROM. Cuando un fabricante tiene la bondad de darle soporte a tu dispositivo, entonces recibes actualizaciones de esa ROM directamente vía OTA (over the air).

Si en cambio, eres victima de la fabulosa obsolescencia programada, puedes acudir a foros como el de XDA a buscar soporte de la comunidad para tu smartphone y descubrir la enorme cantidad de desarrolladores independientes que crean sus propias ROMs para diferentes dispositivos. Esas son las que llamamos custom ROMs o ROMs personalizadas. Uno de los ejemplos más populares de lo bien que pueden resultar los proyectos de ROMs independientes es CyanogenMod.