2 votos

Proceso de carga del dispositivo Android (preparación del flasheo)

El proceso de carga estándar del sistema operativo Android se parece (de los documentos):

  1. BootROM (comienza con el botón "on")
  2. Cargador de arranque
  3. Núcleo
  4. init/montaje
  5. Zygote+Dalvik VM
  6. Servicios del sistema

Pero tengo dificultades para entender el proceso de carga que prepara el flasheo (como lo conocí flasheando ROMs de Galaxy Tab y teléfonos móviles MTK)

¿Podría ayudarme a encontrar la posición de esas herramientas en este diagrama?

1) ¿El código que muestra el logo (o la carga de la batería en porcentajes cuando el cable de alimentación está encendido) y responde al USB (cuando el teléfono está apagado pero la batería está dentro)? ¿Dónde está? Debería estar colocado antes de la ROM de arranque - pero ¿cómo lo nombras?

2) ¿Quién es el responsable de manejar "on + volumne down" para cambiar al menú "bootload"? ¿BootRom o Bootloader?

3) "preloader" ¿cómo se posiciona allí? (No estoy seguro de que entiendo lo que es preloader).

4) Twrp ? fastboot ? odin3 ¿reemplazan a Dalvik o corren sobre él? twrp por sí mismo parece un SO completo.

5voto

Jack Wade Puntos 231

El proceso de arranque de los dispositivos Android hasta la etapa del kernel es muy específico del proveedor, del dispositivo y contiene en su mayoría código cerrado. Puedes ver claras desviaciones de las terminologías utilizadas y diferencias en sus implementaciones. Aquí estoy dando una simple comprensión.

  1. Cuando se inserta el cargador, el dispositivo arranca de forma muy similar a cuando se pulsa el botón de encendido, excepto que se carga un SO muy limitado.

    El dispositivo arranca normalmente hasta init etapa (dada en el punto 4). init en lugar de iniciar los servicios desde /system y /vendor particiones, inicia un proceso: /sbin/charger* que no forma parte de AOSP. El binario del cargador suele ser de código cerrado y varía para los diferentes dispositivos. Puede cargar algunas imágenes / animaciones almacenadas en algunas particiones específicas para este propósito.

    También algunos OEMs permiten activar/desactivar off-mode-charge a través de fastboot para controlar el comportamiento, es decir, si el dispositivo debe encenderse cuando se enchufa o no. Pero tampoco es una característica estándar y varía según los dispositivos.

  2. Los cargadores de arranque (SBL / ABOOT o equivalentes) manejan los botones de encendido y volumen presionados para iniciar el modo de descarga (de emergencia), el modo SPL, fastboot modo, etc. y el núcleo de recuperación o normal.

  3. El preloader es una etapa del bootloader (SBL / SPL) antes del bootloader final (UBOOT / LK / ABOOT)

  4. Aquí está la cadena de arranque:

    • BootROM
    • BooLoader primario / secundario o PreLoader
    • El gestor de arranque final (que proporciona odin / fastboot )
    • Kernel / Recovery (TWRP)
    • Init (primer proceso del espacio de usuario y encargado de todos los demás procesos, también monta sistemas de archivos)
    • Los servicios o procesos se inician desde /system y /vendor particiones por init (Zygote / Dalvik es uno de ellos).

Así que odin (específico para Samsung) y fastboot son dos protocolos independientes para la comunicación con el dispositivo a través de USB para formatear particiones, flashear el firmware de fábrica, (des)bloquear el bootloader, etc. Mientras que TWRP es un sistema operativo mínimo que se inicia en lugar del normal boot.img (normalmente usando el mismo kernel) en caso de que Android no pueda arrancar o necesite una actualización OTA o algunas modificaciones / mantenimiento.

Ninguno de ellos puede estar relacionado con Dalvik son específicos del hardware y se ejecutan en la fase previa al núcleo o en el núcleo. Mientras que zygote - una parte de AOSP - es un proceso completamente de espacio de usuario que bifurca la máquina virtual Dalvik para cada aplicación.


Para más detalles: Proceso de arranque: Android vs. Linux

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X