Introducción de partición del sistema Android

Dado que el sistema Android adopta la arquitectura Linux, la partición del sistema Android se puede comparar con un sistema operativo (como Windows) que también adopta la arquitectura Linux.

Clasificación de partición del sistema Android

Ahora hay tres métodos comunes de partición de Android, y se usarán diferentes métodos de partición en diferentes versiones del sistema Android.

1. Las particiones tradicionales (particiones que no son A/B) generalmente se encuentran en teléfonos con Android 10 e inferior

2. Partición A/B (existirán algunos modelos, es la etapa de transición de dos modelos más utilizados)

3. Partición virtual A/B (VA/B)

  1. La partición del módem es principalmente el módulo de comunicación del teléfono móvil SMS;
  2. La partición del cargador de arranque se usa principalmente para flashear;
  3. La partición de recuperación solo se usa para el cepillado normal;
  4. partición de arranque, utilizada para iniciar;
  5. partición del sistema, partición del sistema;
  6. partición de datos, partición de usuario;
  7. Partición de caché: almacene datos en caché durante el uso
  8. proveedor: contiene programas ejecutables, bibliotecas, servicios del sistema y aplicaciones específicos del proveedor. Esta partición se puede considerar como un complemento de la partición del sistema, y ​​algunas funciones de la ROM personalizada del fabricante se pueden colocar en esta partición.
partición de módem
partición del gestor de arranque
partición de recuperación
partición de arranque
partición del sistema
partición de datos
Partición de caché

Shuangqing se refiere a borrar la partición de datos y la partición de caché.

Partición de arranque: compuesta por kernel y ramdisk. Guarde el programa BootLoader, que desempeña la función de arranque y guía, y es el primer programa que se ejecuta en el teléfono móvil después de encenderlo. Su partición kernel (kernel) de nivel inferior es responsable de expandir las funciones del sistema operativo (como Android OS, MIUI), administrar la programación del hardware del dispositivo, los procesos del sistema, la memoria del dispositivo, etc., y mantener la estabilidad del sistema operativo . La partición de arranque es otra partición ramdisk (memoria virtual) de nivel inferior, que almacena algunos controladores necesarios para el funcionamiento de la partición del kernel, lo que permite que el kernel se ejecute primero a través del sistema de archivos virtual y luego se ejecute a través del sistema de archivos real a través del controladores en la partición ramdisk (un poco complicado, en resumen, un reemplazo temporal para el sistema de archivos real). Tenga en cuenta que los datos reales de la partición ramdisk se almacenan en la RAM. Luego, cuando la partición de inicio está dañada, el programa BootLoader no puede ejecutarse, por lo que se atasca en la primera pantalla de inicio (Cami). Por supuesto, cuando modificamos la programación de la CPU o hacemos overclocking en la GPU, también necesitamos modificar los archivos de la partición de arranque.

Partición del sistema: esta partición contiene otras partes de todo el sistema operativo, excepto el núcleo y el ramdisk, incluida la interfaz de usuario de Android y la aplicación preinstalada en el dispositivo. Eliminar esta partición solo desinstalará el sistema Android del dispositivo sincrónicamente, y no hará que el dispositivo no se reinicie , por lo que aún puede poner el dispositivo en modo de recuperación o cargador de arranque para actualizar una nueva ROM para él. Para dar un ejemplo ingenuo, si cambia todos los archivos del sistema MIUI14 almacenados en el sistema a origin OS 3 (cualquier interfaz de usuario se atreve a llamar a su propio sistema operativo en estos días), entonces ha completado los pasos para actualizar a origin OS 3.

Partición de recuperación: equivalente a una partición de arranque de repuesto, podemos usarla para hacer que el dispositivo arranque en la ventana del modo de recuperación para algunas operaciones avanzadas de recuperación y mantenimiento.

partición de datos: también conocida como datos de usuario, es donde se almacenan los datos de usuario, es decir, sus contactos, mensajes de texto, archivos de configuración y sus propias aplicaciones instaladas se encuentran aquí. Eliminar esta partición es equivalente a hacer un restablecimiento de fábrica en su dispositivo, y su dispositivo será el mismo que la primera vez que lo encendió o la última vez que actualizó una ROM oficial/personalizada. Después de hacer clic en el botón Borrar datos de usuario o Restablecimiento de fábrica en el dispositivo, en realidad es esta partición la que se borra.

Partición de caché: almacena datos y componentes de aplicaciones a los que se accede con frecuencia en el sistema Android. La eliminación de esta partición no afectará a sus datos personales. Los datos de esta partición se recopilarán y almacenarán aquí a medida que siga utilizando el dispositivo.

partición miscelánea: contiene varias configuraciones del sistema guardadas en forma de conmutadores, incluido CID (ID de operador o región), configuración USB y algunas configuraciones de hardware. Esta es una partición importante, si se corrompe o se pierden datos, es posible que algunas funciones del dispositivo no funcionen correctamente

Inicio del sistema Android

Descripción general de inicio: Loader > Kernel > Native > Framework > Application

细分:BootRom > Bootloader > Kernel > Init > Zygote > SystemServer > Iniciador

La capa Loader incluye principalmente Boot Rom y Boot Loader;
la capa Kernel es principalmente la capa del kernel de Android; la
capa Native incluye principalmente el proceso init y su proceso daemon de espacio de usuario bifurcado, la capa HAL, la animación de arranque, etc.; la
capa Framework es principalmente AMS y PMS Espere la inicialización del Servicio,
la capa de Aplicación se refiere principalmente al inicio de SystemUI y Launcher;

La partición del gestor de arranque se divide en dos partes, denominadas gestor de arranque primario y gestor de arranque de etapa secundaria. El cargador de arranque principal realiza principalmente la detección de hardware y, después de asegurarse de que el hardware puede funcionar con normalidad, el cargador de arranque de la etapa secundaria se copia en la memoria (RAM) para iniciar la ejecución. El gestor de arranque de la etapa secundaria realizará algunos trabajos de inicialización del hardware, obtendrá información sobre el tamaño de la memoria, etc., y luego ingresará a un determinado modo de inicio de acuerdo con las pulsaciones de teclas del usuario.

modo fastboot: fastboot es un protocolo de flasheo simple definido por Android, y los usuarios pueden usar la herramienta de línea de comando fastboot para flashear. Por ejemplo, el comando fastboot flash boot boot.img muestra el contenido de boot.img en la partición de arranque.

Modo de recuperación: la recuperación es un protocolo de cepillado estándar definido por android. Al ingresar al modo de recuperación, el cargador de arranque de la etapa secundaria se inicia desde la partición de recuperación. La partición de recuperación es en realidad un sistema Linux simple. Después de que se inicia el kernel, comienza a ejecutar el primer programa init (el programa init es el ancestro de todos los programas en el sistema Linux. ). init iniciará un programa llamado recuperación (el nombre del modo de recuperación también se deriva de esto). A través del programa de recuperación, los usuarios pueden realizar operaciones como borrar datos e instalar paquetes flash.

Además de los chips de CPU ordinarios, los teléfonos móviles también tienen chips de procesador MODEM. La función de este chip es realizar la función de comunicación necesaria del teléfono móvil. La RADIO parpadeante está parpadeando en la partición del módem.

Proceso de actualización OTA del sistema

Actualización no A/B

  • El sistema Android recibe el impulso OTA del servidor y descarga el paquete OTA a la partición de caché.
  • Una vez completada la descarga del paquete OTA, se escribirá un comando en la partición miscelánea, lo que indica que ingresará al modo de recuperación en el próximo inicio y usará el paquete OTA para actualizar.
  • reiniciar celular.
  • Después de reiniciar, ingrese primero al cargador de arranque, y el cargador de arranque primero evaluará la combinación de teclas, el registro de energía, etc., y luego leerá y analizará el contenido de la partición miscelánea. Dado que el comando se escribió en la partición miscelánea en el paso 2, el cargador de arranque aquí iniciará el sistema de recuperación después de leer el comando.
  • Ingrese a la recuperación, lea el paquete OTA en la partición de caché, analice el script de actualización y actualice cada partición del sistema de acuerdo con sus instrucciones. Si también es necesario actualizar la recuperación, el archivo recovery-from-boot.p se escribirá en el sistema durante este proceso, que es un parche necesario para la actualización de la recuperación.
  • la recuperación borrará la partición miscelánea.
  • reiniciar celular.
  • Después de reiniciar, ingrese primero al cargador de arranque y juzgue la combinación de teclas, el registro de energía, el contenido de la partición miscelánea, etc., y el sistema Android se iniciará de forma predeterminada, que es una nueva versión del sistema después de la actualización OTA.
  • Después de que se inicie la nueva versión del sistema Android, comprobará si existe el archivo recovery-from-boot.p y, si existe, se actualizará la recuperación.

Actualización A/B

Después de Android O, Google introdujo una nueva estructura de partición llamada partición A / B. En consecuencia, la estructura de partición tradicional se llama partición no A / B.

La estructura de partición A/B, como sugiere el nombre, divide la partición del sistema en dos ranuras (ranuras) A y B. Cuando el teléfono se inicia, elegirá la ranura A o la ranura B para iniciar, y solo usará la partición en el ranura actual durante la operación. Una vez que hay un problema con la ranura que se está ejecutando actualmente, el sistema aún puede seleccionar otra ranura para comenzar, lo que garantiza una buena disponibilidad del sistema.

Adoptando la estructura de partición A/B, puede realizar una actualización sin problemas. Por ejemplo, si el usuario está ejecutando la ranura A y recibe un impulso de OTA en este momento, el sistema descargará los datos de OTA en segundo plano y actualizará la ranura B al mismo tiempo. Cuando se complete la actualización del sistema de ranuras B, el usuario recibirá un mensaje de reinicio. En este momento, al reiniciar el teléfono, se cambiará automáticamente a la nueva versión del sistema de ranuras B. Durante este proceso, el usuario solo percibirá la operación de reinicio, y el consumo de tiempo de este reinicio no es diferente al de un reinicio normal.

Si la OTA falla, es solo un problema con la ranura que se actualizará, puede intentar la OTA nuevamente y no afectará el sistema que el usuario está ejecutando actualmente.

Dado que la estructura de partición A/B puede obtener datos OTA del servidor y escribirlos directamente en la ranura que se va a actualizar, no es necesario almacenar temporalmente el espacio del paquete OTA, por lo que ya no es necesario reservar suficiente espacio en la memoria caché. o partición de datos de usuario.

Supongo que te gusta

Origin blog.csdn.net/Jason_Lee155/article/details/131701975
Recomendado
Clasificación