Ramdisk-Partitionen

In Android 10 und 11 Ramdisk der ersten Phase enthält das Initialisierungs-Binärprogramm der ersten Phase, das Early Mounting wie angegeben durchführt. durch fstab-Einträge) und fstab-Dateien des Anbieters. Wie bei Android 9 und niedriger system.img enthält den Inhalt von $TARGET_ROOT_OUT.)

  • Bei Geräten mit einer Boot-RAMdisk (nicht A/B) ist die erste Initialisierungsphase eine statische ausführbare Datei unter /init. Diese Geräte stellen system.img als /system bereit, Führen Sie dann einen Switch-Root-Vorgang aus, um die Bereitstellung unter /system auf / zu verschieben. Der Inhalt der Ramdisk wird nach Abschluss der Bereitstellung freigegeben.

  • Bei Geräten, die die Wiederherstellung als RAM-Disk nutzen, befindet sich die erste Initialisierungsphase /init innerhalb der Wiederherstellungs-RAMdisk. Diese Geräte wechseln zuerst den Root-Zugriff auf /first_stage_ramdisk, um die Wiederherstellungskomponenten aus der Umgebung zu entfernen gehen Sie genauso vor wie bei Geräten mit Boot-ramdisk (d. h. stellen Sie system.img als /system ändern, wechsle den Root, um diese Bereitstellung auf / zu verschieben, und gib frei von Ramdisk nach der Bereitstellung). Wenn androidboot.force_normal_boot=1 gleich in der Kernel-Befehlszeile (oder bootconfig von Android) ab 12), starten die Geräte normal (unter Android) anstatt im Wiederherstellungsmodus zu starten.

Nach Abschluss der ersten init-Phase wird /system/bin/init mit dem Argument selinux_setup, um SELinux zu kompilieren und auf dem System zu laden. Schließlich: init führt /system/bin/init noch einmal mit dem Argument second_stage aus. In dieser wird die Hauptphase von init ausgeführt und der Bootvorgang wird mit der init.rc-Scripts.

In den folgenden Abschnitten werden die Unterschiede bei Partitionslayouts für Nicht-A/B-Dateien beschrieben. vor und nach Android 10.

Partitionslayouts (Nicht-A/B-Geräte)

In den folgenden Abschnitten werden die Unterschiede bei Partitionslayouts für Nicht-A/B-Dateien beschrieben. vor und nach Android 10.

boot.img

Ramdisk
(Android 8.x und niedriger)
System als Root
(Android 9)
Ramdisk
(Android 10 und 11).

Enthält einen Kernel und ein ramdisk.img.

ramdisk.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    
Enthält nur einen normalen Boot-Kernel.

Enthält einen Kernel und ramdisk.img.

ramdisk.img
  -/
    - init
    - vendor fstab files
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

Wiederherstellung.img

Enthält einen Wiederherstellungs-Kernel und einen Wiederherstellungs-ramdisk.img

system.img

Ramdisk
(Android 8.x und niedriger)
System als Root
(Android 9)
Ramdisk
(Android 10 und 11).

Enthält ein system.img.

system.img
  -/
    - bin/
    - etc
    - vendor -> /vendor
    - ...
   

Enthält den zusammengeführten Inhalt von $TARGET_SYSTEM_OUT und $TARGET_ROOT_OUT.

system.img
  -/
    - init.rc
    - init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

Enthält den zusammengeführten Inhalt von $TARGET_SYSTEM_OUT und $TARGET_ROOT_OUT.

system.img
  -/
    - init.rc
    - init -> /system/bin/init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

Partitionslayouts (A/B-Geräte)

In den folgenden Abschnitten werden die Unterschiede bei Partitionslayouts für A/B-Geräte beschrieben. vor und nach Android 10.

boot.img

System als Root
(Android 9)
Ramdisk
(Android 10 und 11).
Enthält normalen Boot-Kernel und Recovery-ramdisk (BOARD_USES_RECOVERY_AS_BOOT := true).

Recovery-ramdisk wird nur zum Starten der Wiederherstellung verwendet.
Enthält normalen Boot-Kernel und Recovery-ramdisk (BOARD_USES_RECOVERY_AS_BOOT := true).

Wiederherstellungs-RAMdisk zum Starten sowohl bei der Wiederherstellung als auch bei Android.
ramdisk.img
  -/
    - init -> /system/bin/init
    - first_stage_ramdisk
       - vendor fstab files
    - etc -> /system/etc
    - system/ (mount point)
    - vendor/ (mount point)
    - odm/ (mount point)
    ...
    

system.img

Enthält den zusammengeführten Inhalt von $TARGET_SYSTEM_OUT und $TARGET_ROOT_OUT.

system.img
  -/
    - init.rc
    - init -> /system/bin/init
    - etc -> /system/etc
    - system/
      - bin/
      - etc/
      - vendor -> /vendor
      - ...
    - vendor/ (mount point)
    - odm/ (mount point)
    ...