Básicamente, contiene las instrucciones para iniciar el núcleo del sistema operativo. El bootloader configura el dispositivo a un estado inicial conocido. Es un componente esencial del proceso de inicio, que queda almacenado en un área de memoria segura. Ya que se ejecuta antes que cualquier otro software en un dispositivo, es extremadamente específico para cada hardware, y cada modelo de procesador/placa base tiene su propio bootloader.
Por seguridad, y ya que los fabricantes prefieren que sus dispositivos operen con el software diseñado específicamente para ellos, estos suelen venir bloqueados. Para poder instalar una versión de Android diferente en un dispositivo, primero hay que desbloquear o reemplazar el bootloader, perdiendo la garantía inmediatamente.
El proceso de desbloquear el bootloader no debe ser confundido con el rooteo, ni tampoco con el desbloqueo de la SIM (liberar la tarjeta) que facilita usar el smartphone con cualquier operador de telefonía. Una vez desbloqueado el bootloader, ya es posible instalar algunas ROMs.
Para desbloquear el bootloader de un dispositivo Nexus necesitamos tener en nuestro ordenador las herramientas ADB y Fastboot disponibles en el SDK de Android, tener habilitada en opciones de desarrollo la depuración USB en nuestro Nexus, hacer una copia de seguridad y instalar los drivers de Google (reconocer móvil desde el ordenador).
Fastboot es el protocolo utilizado para actualizar el contenido del sistema de archivos flash en terminales Android a través de USB. Para entrar al bootloader con el dispositivo encendido conectado al PC (equivalente a encender el móvil presionando al mismo tiempo la tecla de volumen):
adb reboot-bootloader
Desde el bootloader es posible acceder a la consola de recuperación por defecto (Recovery Mode). La consola que viene por defecto proporciona pocas aunque útiles opciones que permiten por ejemplo resetear de fábrica el dispositivo e incluso instalar de nuevo el sistema operativo desde una ROM oficial en formato zip.
Como el objetivo sigue siendo desbloquear el bootloader, la idea ejecutar la siguiente línea de código desde el terminal de nuestro ordenador para desbloquearlo (anula la garantía):
fastboot oem unlock
Una vez ejecutado el comando tendremos que confirmar en la pantalla de nuestro dispositivo si desbloquear o no el bootloader. Si aceptamos se borrarán todos los datos del dispositivo por motivos de privacidad. Si lo queremos dejar como estaba tan sólo tenemos que volver a bloquearlo:
fastboot oem lock
Para que el dispositivo se reinicie y arranque el sistema operativo con normalidad sin necesidad de apagarlo desde el botón:
fastboot reboot
Todos los dispositivos Android poseen una consola de recuperación por defecto que no es más que una partición en la memoria interna del dispositivo a la que puedes acceder para reparar el dispositivo. Sin embargo, los desarrolladores de la comunidad Android vieron que se podía sacar mucho partido de este modo de trabajo. Existen una serie de recovery personalizados que sustituyen el sistema de recuperación que viene de fábrica por otro con más opciones. Al cambiar el recovery, el teléfono deja de recibir actualizaciones vía OTA.
Es uno de los recovery personalizados más usados en los sistemas de recuperación de Android, ya que está disponible para casi todos los dispositivos Android, y nos brinda una serie de opciones que dan más control del dispositivo. Es una de las formas habituales de obtener acceso root, crear copias de seguridad de todo el sistema en una tarjeta de memoria (pudiendo restaurarla posteriormente ante cualquier eventualidad), instalar ROMs personalizadas, borrar la memoria de cualquier partición, restablecer las estadísticas de la batería, etc. Mediante fastboot es posible instalar la imagen recovery en el dispositivo:
fastboot flash recovery recovery-clockwork-touch-6.0.4.3-mako.img
TWRP es un un recovery táctil muy completo, alternativo a ClockWorkMod. En la parte de arriba muestra la hora y la batería restante del dispositivo. En el resto de la pantalla, los elementos se muestran en botones grandes y no en lista, con lo que son mucho más accesibles.
Cuando un operador o fabricante nos vende un dispositivo, se da por hecho que traerá una serie de restricciones en el software. Está relacionado normalmente con las garantías, la personalización de los operadores, etc. Al "rootear", obtenemos acceso como "superusuario" del software, permitiendo realizar tareas administrativas como escribir en zonas de memoria restringidas, lo que se traduce en posibilidades de personalización mucho mayores. Para usuarios que vengan de iOS, sería el equivalente al "jailbreak". Desde la opción, Install zip from sdcard es sencillo instalar una ROM personalizada del sistema operativo.