Hay muchos comandos fastboot ocultos en su dispositivo. Para encontrarlos, necesitaremos deshacernos del gestor de arranque y examinar el contenido.
En mi búsqueda por descubrir todo lo posible sobre la personalización de Android, he hecho muchos descubrimientos oscuros pero interesantes. Te he mostrado cómo acceder Menús ocultos en tu dispositivo. examinando todas las actividades de aplicaciones ocultas en su teléfono. Más recientemente, les he mostrado cómo acceder a herramienta de diagnóstico de hardware oculta en ciertos teléfonos inteligentes. Ahora, me doy cuenta de que algunos de ustedes se sintieron decepcionados por el hecho de que su teléfono inteligente no estuvo cubierto en el artículo anterior, y les pido disculpas por ello.
Para compensarlo, te guiaré a través de algo mucho, mucho más avanzado y emocionante: descargar el gestor de arranque de su dispositivo para descubrir comandos fastboot ocultos. Esta guía, aunque hecha en mi Nexo 6P, definitivamente es replicable en la mayoría de los teléfonos inteligentes. Sin embargo, los comandos a los que tendrá acceso variarán significativamente entre dispositivos. La mayoría de los comandos realmente no te ayudarán en ninguna situación real, pero aun así es bastante interesante profundizar en la configuración de tu teléfono. Empecemos.
Descargo de responsabilidad: siempre que sepa lo que está haciendo y pueda seguir las instrucciones adecuadamente, no debería pasarle nada malo a su dispositivo. Pero todavía estamos jugando con las particiones de nuestro dispositivo y el gestor de arranque, por lo que no se sabe qué podría pasar si ingresa el comando incorrecto. ¡Asegúrate de tener lista una copia de seguridad fuera del dispositivo!
Preparación
Antes de comenzar, hay una cosa muy importante a tener en cuenta. Para extraer el gestor de arranque de su dispositivo, Necesitará acceso de root en su teléfono. Si no tiene acceso de root, puede continuar leyendo esta guía con fines educativos, pero no podrá realizar ninguno de los comandos necesarios. ¿Lo tengo? Bien. Otro requisito previo que deberá cumplir es asegurarse de que su computadora tenga todas las controladores ADB/fastboot adecuados. Si no tiene los binarios ADB/fastboot, le recomiendo instalar ADB mínimo y arranque rápido de nuestros foros. En cuanto a los controladores, puede obtener los controladores necesarios para los dispositivos Google Nexus. aquí y para todos los demás dispositivos de aquí. ¿Cómo sabes si estás listo para comenzar? Conecte su dispositivo, habilite la depuración USB en Configuración de desarrollador, abra un símbolo del sistema y escriba:
adb devices
Si ve aparecer el número de serie de su dispositivo, entonces tiene los controladores correctos.
Volcar el gestor de arranque
Nuestro primer paso es abrir un shell en nuestro dispositivo para que podamos ejecutar comandos a través de ADB. Es mejor que ejecutemos comandos a través de ADB porque somos mucho más propensos a cometer errores al escribir en un teclado virtual, y cometer errores no es algo que quieras hacer aquí. El primer comando que debe ejecutar en su símbolo del sistema es:
adb shell
Si ve que el símbolo del sistema cambia de mostrar el directorio binario ADB a mostrar el nombre en clave de su dispositivo Android, entonces ha ingresado exitosamente al shell de línea de comando local de su dispositivo. Ahora, para acceder a las particiones que necesitamos volcar, necesitará acceso de superusuario. Para hacerlo, escriba lo siguiente:
su
El símbolo delante del nombre en clave de su dispositivo debería cambiar de $ a # indicando que ahora puede ejecutar comandos con privilegios elevados. ¡Ten cuidado ahora!
A continuación, descubriremos la ubicación exacta de la imagen del gestor de arranque de su dispositivo. Para encontrar el directorio exacto, imprimiremos una lista de todas las particiones y sus directorios por nombre, y buscaremos una en particular llamada 'una bota.' Deberá ingresar dos comandos de la siguiente manera:
cd /dev/block/bootdevice/by-name
ls -all
Como puede ver arriba, se imprime una lista gigante de directorios de particiones. Estas particiones están ordenadas por nombre, por lo que podemos discernir fácilmente la ubicación de nuestra partición del gestor de arranque. En mi caso, el gestor de arranque, que es 'una bota' en la imagen de arriba, se puede encontrar en /dev/block/mmcblk0p10. Este variará Dependiendo de tu dispositivo, es importante que sigas estas instrucciones para descubrir el verdadero directorio donde se encuentra tu gestor de arranque. Sin embargo, tome nota de este directorio, ya que lo haremos referencia en el siguiente comando para volcar el gestor de arranque:
dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img
Una vez exitoso, debería encontrar un archivo llamado 'aboot.img'ubicado en la raíz de su almacenamiento interno. Ahora que hemos desechado el gestor de arranque, debemos examinarlo para determinar qué comandos ocultos podemos encontrar.
Comandos ocultos de Fastboot y sus usos
Es posible que esté familiarizado con algunos de los comandos fastboot más comunes, como flash de arranque rápido o arranque rápido. Hay muchos más comandos fastboot como se definen en el protocolo fastboot de código abierto. Aquí hay una lista de los comandos fastboot disponibles en cada dispositivo con un gestor de arranque basado en el último código AOSP:
Lo que falta en esta lista es fastboot OEM comandos. Estos comandos son específico a los fabricantes de dispositivos Android, y no existe una lista o documentación completa en ninguna parte sobre los comandos fastboot oem disponibles. Ahora, si el fabricante de su dispositivo tuvo la amabilidad de proporcionar un comando fastboot que enumera todos los comandos OEM (pruebe ¿arranque rápido OEM? y ver si funciona), entonces no necesitarás hacer nada más. Si no hay ningún comando que imprima una lista de comandos fastboot oem disponibles, deberá imprimir una lista de instrumentos de cuerda desde aboot.img y busque los comandos oem manualmente.
'strings' es un comando de Linux, cuya documentación es disponible aquí. Como puedes ver, personalmente estoy usando una máquina con Windows, así que en lugar de eso he estado usando una programa que imita las 'cadenas' de Linux. La salida sin formato del comando 'strings' en un archivo aboot.img será muy desordenado, pero si simplemente presiona CTRL+F para 'oem' debería encontrar lo que necesita. Si desea refinar su búsqueda, puede probar este comando (para la versión de Windows que vinculé):
strings * | findstr /i oem
Para el Nexus 6P, compilé la siguiente lista de comandos fastboot oem:
fastboot oem unlock-go
fastboot oem frp-unlock
fastboot oem frp-erase
fastboot oem enable reduced-version
fastboot oem device-info
fastboot oem enable-charger-screen
fastboot oem disable-charger-screen
fastboot oem enable-bp-tools
fastboot oem disable-bp-tools
fastboot oem enable-hw-factory
fastboot oem disable-hw-factory
fastboot oem select-display-panel
fastboot oem off-mode-charge enable
fastboot oem off-mode-charge disable
fastboot oem ramdump enable
fastboot oem ramdump disable
fastboot oem uart enable
fastboot oem uart disable
fastboot oem hwdog certify begin
fastboot oem hwdog certify close
fastboot oem get-imei1
fastboot oem get-meid
fastboot oem get-sn
fastboot oem get-bsn
fastboot oem get_verify_boot_status
Tenga en cuenta que no debe intentar ninguno de los comandos anteriores, ni ninguno de los comandos que descubra en su dispositivo, a menos que esté dispuesto a aceptar los riesgos. Hay una razón por la que estos comandos están ocultos para el usuario.
Dicho esto, he pensado en algunos usos interesantes para algunos de estos comandos de arranque rápido que he encontrado (que pueden ser o no presente en su dispositivo, ¡así que siga las instrucciones anteriores para comprobarlo!) que debería gustarle al Android más avanzado entusiasta. Aquí hay dos comandos que podrían tener algún uso práctico.
Primero está el fastboot oem (activar|desactivar)-pantalla-cargador dominio. Lo que esto hace es desactivar la pantalla de carga que aparece cuando su dispositivo está apagado. Si no eres fanático del brillo cegador de la pantalla de carga cuando tu teléfono está apagado, ¡puedes desactivarlo mediante este comando fastboot oculto!
A continuación, está el fastboot oem off-mode-charge (activar|desactivar) dominio. Este comando determina si su dispositivo se encenderá automáticamente cuando se detecte una fuente de energía. De forma predeterminada, está configurado en "deshabilitar". Admito que este comando no tiene mucha utilidad para teléfonos, pero si Si planeas montar tu tableta en el tablero de tu auto, este comando te resultará increíblemente útil. Podrá configurar su dispositivo para que se encienda inmediatamente cuando la tableta reciba energía, como cuando se enciende la batería de su automóvil. Por el contrario, es bastante fácil apagar la tableta cuando se corta la energía usando una aplicación de automatización como Tasker. Este comando, por cierto, funciona exactamente como está escrito en el Nexo 7 (2013).
Eso es todo por esta lección sobre personalización de Android. ¡Comparte los comandos que descubras (idealmente en un enlace de Pastebin) en los comentarios a continuación!
Gracias al desarrollador reconocido senior de XDA Dees_Troy ¡Por su ayuda en la realización de este artículo!