3 votes

Processus de chargement du dispositif Android (préparation du flashage)

Le processus de chargement standard du système d'exploitation Android ressemble à ceci (d'après les documents) :

  1. BootROM (commence avec le bouton 'on')
  2. Chargeur de démarrage
  3. Noyau
  4. init/montage
  5. Zygote+Dalvik VM
  6. Services du système

Mais j'ai des difficultés à comprendre le processus de chargement préparant le flashage (comment je l'ai rencontré en flashant des ROMs de Galaxy Tab et de téléphones portables MTK).

Pourriez-vous m'aider à trouver la position de ces outils sur ce schéma :

1) Le code qui affiche le logo (ou la charge de la batterie en pourcentage lorsque le câble d'alimentation est allumé) et répond à l'USB (lorsque le téléphone est éteint mais que la batterie est à l'intérieur) ? Où se trouve-t-il ? Il devrait être positionné avant le Boot ROM - mais comment le nommer ?

2) qui est responsable de la manipulation "on + volume vers le bas" pour passer au menu "bootload" ? BootRom ou Bootloader ?

3) "preloader" comment est-il positionné là ? (Je ne suis pas sûr de comprendre ce qu'est un préchargeur).

4) Twrp ? fastboot ? odin3 remplacent-ils Dalvik ou le recouvrent-ils ? twrp seul ressemble à un système d'exploitation complet.

6voto

Irfan Latif Points 16863

Le processus d'amorçage des appareils Android jusqu'à l'étape du noyau est très spécifique aux fournisseurs et aux appareils et contient principalement du code source fermé. Vous pouvez voir de nettes déviations dans les terminologies utilisées et des différences dans leurs implémentations. Ici, je vais vous donner une compréhension simple.

  1. Lorsque le chargeur est inséré, l'appareil démarre de la même manière que lorsque l'on appuie sur le bouton d'alimentation, sauf qu'un système d'exploitation très limité est chargé.

    Le dispositif démarre normalement jusqu'à init (indiqué au point 4). init au lieu de démarrer les services à partir de /system et /vendor partitions, démarre un processus : /sbin/charger* qui ne fait pas partie de l'AOSP. Le binaire du chargeur est généralement à source fermée et varie selon les appareils. Il peut charger certaines images / animations stockées sur certaines partitions spécifiques à cet effet.

    De plus, certains OEMs permettent d'activer/désactiver off-mode-charge par le biais de fastboot pour contrôler le comportement, c'est-à-dire si l'appareil doit être allumé lorsqu'il est branché ou non. Mais il ne s'agit pas non plus d'une fonctionnalité standard et elle varie selon les appareils.

  2. Chargeurs de démarrage (SBL / ABOOT ou équivalents) manipulez les boutons d'alimentation et de volume enfoncés pour démarrer le mode de téléchargement (d'urgence), le mode SPL, fastboot etc. et le noyau de récupération ou normal.

  3. Le préchargeur est une étape du bootloader (SBL / SPL) avant le bootloader final (UBOOT / LK / ABOOT).

  4. Voici la chaîne de bottes :

    • BootROM
    • BooLoader ou PreLoader primaire / secondaire
    • Le chargeur de démarrage final (qui fournit odin / fastboot )
    • Kernel / Récupération (TWRP)
    • Init (premier processus en espace utilisateur et responsable de tous les autres processus, monte également les systèmes de fichiers)
    • Les services ou processus sont lancés à partir de /system et /vendor partitions par init (Zygote / Dalvik est l'un de ceux-là).

Así que odin (spécifique à Samsung) et fastboot sont deux protocoles indépendants pour la communication avec le dispositif via USB pour formater les partitions, flasher le firmware d'usine, (dé)verrouiller le bootloader, etc. Alors que TWRP est un système d'exploitation minimal qui est démarré à la place du système normal. boot.img (utilisant généralement le même noyau) au cas où Android ne pourrait pas démarrer ou aurait besoin d'une mise à jour OTA ou de certaines modifications / maintenance.

Aucun d'entre eux ne peut être lié à Dalvik Ils sont spécifiques au matériel et fonctionnent à l'étape du pré-noyau ou du noyau. Alors que zygote - qui fait partie de l'AOSP - est un processus entièrement en espace utilisateur qui bifurque vers la machine virtuelle Dalvik pour chaque application.


Pour plus de détails : Processus de démarrage : Android et Linux

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X